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 576142 - [vorbisenc] Non-header output buffers have NULL caps
[vorbisenc] Non-header output buffers have NULL caps
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal normal
: 0.10.23
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-03-21 00:42 UTC by René Stadler
Modified: 2010-01-14 19:20 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Proposed patch (794 bytes, patch)
2009-03-21 00:45 UTC, René Stadler
committed Details | Review

Description René Stadler 2009-03-21 00:42:53 UTC
I just noticed the following:

$ gst-launch-0.10 audiotestsrc num-buffers=1 ! vorbisenc ! identity ! fakesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock

** (gst-launch-0.10:10122): WARNING **: identity0: could not get in_size

(gst-launch-0.10:10122): GStreamer-CRITICAL **: gst_caps_is_subset: assertion `subset != NULL' failed

(gst-launch-0.10:10122): GStreamer-CRITICAL **: gst_caps_is_fixed: assertion `GST_IS_CAPS (caps)' failed

** (gst-launch-0.10:10122): CRITICAL **: gst_base_transform_find_transform: assertion `gst_caps_is_fixed (caps)' failed

[...]

I.e. putting a basetransform based element after vorbisenc shows that the buffer caps are actually NULL. Apparently it has always been this way but nobody noticed it before :)

Attaching proposed trivial patch.
Comment 1 René Stadler 2009-03-21 00:45:00 UTC
Created attachment 131059 [details] [review]
Proposed patch
Comment 2 Sebastian Dröge (slomo) 2009-03-21 08:48:47 UTC
This patch is of course correct but IIRC NULL caps on buffers mean, that the caps didn't change since last buffer.

commit 9f0e053f6e655fe987a177787995884499b3ae73
Author: René Stadler <mail@renestadler.de>
Date:   Sat Mar 21 09:46:28 2009 +0100

    vorbisenc: Set caps on non-header ouput buffers.
    
    Fixes #576142.
Comment 3 René Stadler 2009-03-21 13:18:18 UTC
So, is this a basetransform bug instead?
Comment 4 Sebastian Dröge (slomo) 2010-01-14 19:20:57 UTC
Yes but doing that in vorbisenc is a good idea too ;)

commit 0a0c32ef88883f9c45da5fc23c28dc5434a5251e
Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
Date:   Thu Jan 14 20:19:05 2010 +0100

    basetransform: Handle buffers with NULL caps correctly
    
    This means that the caps didn't change so don't try to handle
    the NULL caps as the new caps.