GNOME Bugzilla – Bug 699972
videodecoder: Output segment can be undefined before a call to gst_segment_clip
Last modified: 2013-07-11 08:03:18 UTC
The order of operation is : get a new segment, flush the decoder, which sets output_segment.format to UNDEFINED, then gst_video_decoder_clip_and_push_buf tries to clip the output_segment and fails. The proposed patch fixes the issue, I don't know if it's correct.
Created attachment 243658 [details] [review] Proposed patch to fix the issue
Review of attachment 243658 [details] [review]: This is not correct, you should set the output segment only from the output side of things, not the input side. Also receiving a new segment event will not reset the segments, only when gst_video_decoder_flush() is called with TRUE it will do that. Or am I missing something here? How can it be reproduced? ::: gst-libs/gst/video/gstvideodecoder.c @@ +2000,2 @@ g_list_prepend (decoder->priv->current_frame_events, event); } Right above this here the input segment is initialized and a segment event is enqueued. This will cause the output segment to be set later when a frame is finished.
That was a bad observation on my part sorry, fixed in #699960.
Oh I'm sorry actually still reproducible, by running my branch : https://github.com/MathieuDuponchelle/PitiviGes/tree/rendering and GST_DEBUG=test_transition make ges/render.check , in the second test suite run with ogv files
This test seems to be racy in general btw, I get many different g_warnings() each run about different things :)
Ok, I can't really debug with this because it's exploding in thousands of places elsewhere too :) Could you please clean up this test case or provide a new one that only triggers this error?
I was able to reproduce this in bug #700537
Bug #702502 has a potential patch for the segment_clip warning.
Mathieu, any news here?
(In reply to comment #8) > Bug #702502 has a potential patch for the segment_clip warning. Edward's patch removed that bug for us.
Thanks for taking the time to report this bug. This particular bug has already been reported into our bug tracking system, but we are happy to tell you that the problem has already been fixed. It should be solved in the next software version. You may want to check for a software upgrade. *** This bug has been marked as a duplicate of bug 702502 ***