Crash when closing pipeline
id012c3076 at blueyonder.co.uk
Mon Jul 29 08:47:09 PDT 2013
My guess is that you do NOT wait for a message to report that the state
has actually changed. Therefore, you unref the pipeline while the code
is trying to change the state. Poof!
On 29/07/2013 15:47, Otwoh wrote:
> I have a C++ GStreamer application which record my webcam.
> Here the Pipeline :
> ksvideosrc --- queue2 --- ffmpegcolospace --- videorate ---ffenc_mjpeg ---
> avimux --- filesrc
> dshowaudiosrc --- audioconvert --- ffenc_aac
> --- queue2
> When I want to stop recording, I manually call g_main_loop_quit
> Then, I clear objects:
> gst_element_set_state (smp->pipeline, GST_STATE_NULL);
> gst_object_unref (smp->pipeline);
> It works very well when I use mjpeg encoder, or raw video.
> But my application crash every times, when I use an encoder with prediction
> (mpeg2, mpeg4, h264)
> The crash is a Stack overflow and memory corrupted.
> Plus, in spite of crashing, the video file is created and complete. It's
> really weird...
> How can I stop the capture cleanly ?
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Crash-when-closing-pipeline-tp4661329.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
/239 Streetsbrook Road, Solihull, West Midlands, B91 1HE/
Facts used in this message may or may not reflect an underlying
objective reality. Facts are supplied for personal use only.
Recipients quoting supplied information do so at their own risk. Facts
supplied may vary in whole or part from widely accepted standards.
While painstakingly researched, facts may or may not be indicative of
actually occurring events or natural phenomena.
The author accepts no responsibility for personal loss or injury
resulting from memorisation and subsequent use.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the gstreamer-devel