Page 1 of 1

V4L2 to mp4 file. Stop button crashes VLC. mp4 unreadable.

Posted: 27 Oct 2008 11:51
by simonb
I am running VLC 0.9.5 on Mandriva 2008 x64.

I run the following command line to capture live sound and video and save to disk as an mp4 file. When I press the "Stop" button I get a crash. The mp4 file is then useless since the moov atom was never written to it. So I'm stuck.

Code: Select all

vlc -vvv v4l2:// :v4l2-dev="/dev/video0" :v4l2-input=1 :v4l2-io=1 :v4l2-width=720 :v4l2-height=576 :v4l2-adev="hw:0,0" :v4l2-audio-method=3 :v4l2-stereo :v4l2-samplerate=44100 :v4l2-tuner=0: v4l2-tuner-audio-mode=1 :v4l2-controls-reset :v4l2-auto-white-balance=1 :v4l2-autogain=1 :no-v4l2-audio-mute --v4l2-set-ctrls='{chroma agc=1,combfilter=1}' --sout '#duplicate{dst="transcode{threads=4,width=640,height=480,venc=x264,fps=25,vcodec=x264,vb=300,audio-sync,deinterlace=linear,acodec=mp4a,ab=96,channels=2,samplerate=44100}:duplicate{dst=std{access=file, mux=mp4, dst=/home/simonb/Temp/test.mp4} }"}' --sout-x264-ref=5
The redundant stream "duplicate" statements are because this is a cut-down version of the command line I am actually using which is splitting the stream into various rtp and file outputs at different bitrates.

Here is the stack trace after pressing the stop button for the affected thread.

Code: Select all

Thread 12 (Thread 0x45fdd950 (LWP 21131)): #0 video_del_buffer (p_this=0x185a588, p_pic=0x2a00000001) at transcode.c:2272 #1 0x00007f927bfd2c5c in transcode_video_filter_allocation_clear (p_filter=0x185a588) at transcode.c:1470 #2 0x00007f9283fb9b9c in filter_chain_DeleteFilterInternal (p_chain=0x1811300, p_filter=0x185a588) at misc/filter_chain.c:283 #3 0x00007f9283fba1ff in filter_chain_Delete (p_chain=0x1811300) at misc/filter_chain.c:97 #4 0x00007f927bfd5d04 in transcode_video_close (p_stream=<value optimized out>, id=0x16a6ff0) at transcode.c:1830 #5 0x00007f927bfd71bd in Del (p_stream=0x185a588, id=0x2a00000001) at transcode.c:960 #6 0x00007f927c1dac83 in Del (p_stream=<value optimized out>, id=0x167c060) at ../../include/vlc_sout.h:219 #7 0x00007f9283fbbd6a in sout_InputDelete (p_input=0x16a72d0) at stream_output/stream_output.c:253 #8 0x00007f9283f5bbab in DeleteDecoder (p_dec=0x161cae8) at input/decoder.c:1156 #9 0x00007f9283f5e160 in input_DecoderDelete (p_dec=0x161cae8) at input/decoder.c:270 #10 0x00007f9283f62311 in input_EsOutDelete (out=0x1618cb0) at input/es_out.c:284 #11 0x00007f9283f68ccf in End (p_input=0x15d66f8) at input/input.c:1291 #12 0x00007f9283f6daa9 in Run (p_this=0x15d66f8) at input/input.c:533 #13 0x00007f9283fa6ca6 in thread_entry (data=<value optimized out>) at misc/threads.c:465 #14 0x00007f92839ae2a3 in start_thread () from /lib64/libpthread.so.0 #15 0x00007f9283c9f03d in clone () from /lib64/libc.so.6
The line in transcode.c that it crashes on is indicated below...

Code: Select all

static void video_del_buffer( vlc_object_t *p_this, picture_t *p_pic ) { VLC_UNUSED(p_this); if( p_pic ) { free( p_pic->p_data_orig ); //Crashing on this line free( p_pic->p_sys ); free( p_pic ); } }

Re: V4L2 to mp4 file. Stop button crashes VLC. mp4 unreadable.

Posted: 28 Oct 2008 00:55
by Jean-Baptiste Kempf
What line exactly breaks ?

Re: V4L2 to mp4 file. Stop button crashes VLC. mp4 unreadable.

Posted: 02 Nov 2008 09:31
by simonb
What line exactly breaks ?
The line where I added the comment.

Code: Select all

free( p_pic->p_data_orig ); //Crashing on this line

Re: V4L2 to mp4 file. Stop button crashes VLC. mp4 unreadable.

Posted: 02 Nov 2008 12:03
by Jean-Baptiste Kempf
Send it to vlc-devel.