After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 336550 - [asfdemux] only first video frames are displayed with some WMV files
[asfdemux] only first video frames are displayed with some WMV files
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-ugly
git master
Other All
: Normal normal
: 0.10.4
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-03-29 21:56 UTC by Fabrizio Gennari
Modified: 2006-04-07 09:19 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch for sending events to some streams only (2.05 KB, patch)
2006-03-29 22:03 UTC, Fabrizio Gennari
committed Details | Review
Another WMV file with the same problem (721.77 KB, video/x-ms-wmv)
2006-03-29 22:11 UTC, Fabrizio Gennari
  Details

Description Fabrizio Gennari 2006-03-29 21:56:20 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:
Comment 1 Fabrizio Gennari 2006-03-29 22:03:25 UTC
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
Comment 2 Fabrizio Gennari 2006-03-29 22:11:17 UTC
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?)
Comment 3 Tim-Philipp Müller 2006-04-07 09:19:35 UTC
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 ;))