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 707765 - id3v2 blob frames are not encapsuled in a GstSample
id3v2 blob frames are not encapsuled in a GstSample
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal normal
: 1.1.90
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-09-09 13:35 UTC by Matthieu Bouron
Modified: 2013-09-18 16:52 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
tag: id3: encapsulate ID3V2 blob frames in GstSample (2.15 KB, patch)
2013-09-09 13:36 UTC, Matthieu Bouron
none Details | Review
tag: id3: encapsulate ID3V2 blob frames in GstSample (2.20 KB, patch)
2013-09-09 14:03 UTC, Matthieu Bouron
committed Details | Review

Description Matthieu Bouron 2013-09-09 13:35:59 UTC
id3v2 blob frames are not encapsuled in a GstSample as expected by id3mux and id3v2mux.
This results in the following warnings when such frames are found in the id3 metadata:

gst-launch-1.0 filesrc location=/tmp/i.aiff ! decodebin ! audioconvert ! lamemp3enc ! id3mux ! fakesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Redistribute latency...
0:00:00.061111861  4088 0x7f79dc04a540 WARN                  tagmux gsttagmux.c:459:gst_tag_mux_sink_event:<id3mux0> dropping newsegment event in time format

(gst-launch-1.0:4088): GStreamer-CRITICAL **: gst_sample_get_buffer: assertion `GST_IS_SAMPLE (sample)' failed

(gst-launch-1.0:4088): GStreamer-CRITICAL **: gst_sample_get_caps: assertion `GST_IS_SAMPLE (sample)' failed

(gst-launch-1.0:4088): GStreamer-CRITICAL **: gst_sample_get_buffer: assertion `GST_IS_SAMPLE (sample)' failed

(gst-launch-1.0:4088): GStreamer-CRITICAL **: gst_sample_get_caps: assertion `GST_IS_SAMPLE (sample)' failed

[...]

0:00:00.061633624  4088 0x7f79dc04a540 WARN                  id3mux id3tag.c:1163:foreach_add_tag: Unsupported tag 'isrc' - not written
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 0:00:07.750327166
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
Comment 1 Matthieu Bouron 2013-09-09 13:36:31 UTC
Created attachment 254482 [details] [review]
tag: id3: encapsulate ID3V2 blob frames in GstSample
Comment 2 Matthieu Bouron 2013-09-09 14:03:05 UTC
Created attachment 254486 [details] [review]
tag: id3: encapsulate ID3V2 blob frames in GstSample

Add bugzilla link to comment.
Comment 3 Tim-Philipp Müller 2013-09-09 22:57:23 UTC
Thanks, I think this is the right fix.

commit 7b3ca538fd9ddc146795f79b7eb420db78e02885
Author: Matthieu Bouron <matthieu.bouron@collabora.com>
Date:   Tue Sep 3 17:27:37 2013 +0100

    tag: id3: encapsulate ID3V2 blob frames in GstSample
    
    id3mux and id3v2mux expect GST_TAG_ID3V2_FRAME type to be stored in a
    GstSample and not a buffer, which is also needed because we can't
    attach extradata/caps to buffers any more. These are private tags
    no one should be poking at, and also the extra info is missing.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=707765