GNOME Bugzilla – Bug 336550
[asfdemux] only first video frames are displayed with some WMV files
Last modified: 2006-04-07 09:19:35 UTC
Please describe the problem: http://tolo88.altervista.org/video/calcettonido.wmv Play it with gst-launch-0.10 filesrc location=calcettonido.wmv ! asfdemux .video_00 ! ffdec_wmv2 The first video frames are played, then video stops. After increasing debug level in ffmpeg plugin, at each frame (except the first ones) this message is displayed Dropping non-keyframe (seek/init) In Totem, audio is played regularly Steps to reproduce: Actual results: Expected results: Does this happen every time? Other information:
Created attachment 62336 [details] [review] Patch for sending events to some streams only asfdemux sends the first video frame, and the event NEWSEGMENT along with it, to all source pads. Then, it sends more video frames. Then, it sends the first audio frame and the event NEWSEGMENT along with it, to all source pads. Video pad receives the NEWSEGMENT sent along with first audio frame, and, from then on, drops all the frame until the next key frame Proposed solution: send NEWSEGMENT only to video pad along with first video frame, and only to audio pad along with first audio frame
Created attachment 62337 [details] Another WMV file with the same problem Another WMV file with the same problem, and suitable to attach (because it's small enough, what were you thinking about?)
applied, nice catch! 2006-04-07 Tim-Philipp Müller <tim at centricular dot net> Patch by: Fabrizio Gennari <fabrizio dot ge at tiscali dot it> * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_sink_event), (gst_asf_demux_push_buffer): Send newsegment event only once per pad, fixes #336550. (applied in spirit. I don't think we need to add a new function for this if we can just as well use gst_pad_push_event(), but mocking me for using incredibly long function names is totally justified of course ;))