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 340859 - [avimux] produces index with all frames marked as keyframes
[avimux] produces index with all frames marked as keyframes
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
0.10.3
Other Linux
: Normal normal
: 0.10.4
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-05-06 20:53 UTC by Mark Nauwelaerts
Modified: 2006-05-09 14:08 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Possible patch (1.43 KB, patch)
2006-05-06 21:00 UTC, Mark Nauwelaerts
committed Details | Review

Description Mark Nauwelaerts 2006-05-06 20:53:22 UTC
A buffer to be sent out is (properly) stripped using (a.o.) gst_buffer_make_metadata_writable, but this also clears the buffer flags in the resulting sub-buffer.  [Because there is more than one ref on the buffer;
one in gst_avi_mux_do_video_buffer and a peek one in gst_avi_mux_do_one_buffer]
So, the buffer looks like holding keyframe at the point in code checking for this.
Comment 1 Mark Nauwelaerts 2006-05-06 21:00:38 UTC
Created attachment 64938 [details] [review]
Possible patch

Patches this problem by only preparing ('stripping') a buffer (just) prior to pushing it out, so that other inspection of the buffer (for e.g. flags) is unaffected.
Comment 2 Tim-Philipp Müller 2006-05-09 14:08:57 UTC
Oops, nice catch.

I think this is actually a bug in gst_buffer_make_metadata_writable() - fixed in core CVS now:

 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>

       * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
         gst_buffer_make_metadata_writable() should maintain the
         buffer flags (those that make sense at least) (see #340859).


and committed to -good CVS as well:

 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>

       Patch by: Mark Nauwelaerts  <manauw at skynet bet>

       * gst/avi/gstavimux.c: (gst_avi_mux_do_audio_buffer),
       (gst_avi_mux_do_video_buffer):
         Work around gst_buffer_make_metadata_writable() bug that
         results in avimux marking all frames in the index as
         keyframes (#340859).