Getting image buffer data from audio file tags.

Nox Deleo noxdeleo at googlemail.com
Wed Dec 19 10:10:42 PST 2012


I feel like I'm very close now. I've set up a random access appsrc, and
connected it to a pngenc followed by a filesink. I've set the appsrc's
"size" property to the size of the album cover's image buffer, and when the
"need-data" signal is fired, I'm pushing the entire buffer. I've also set
the appsrc's "caps" property to the caps of the original album cover
(sample.get_caps() from the image tag). In addition to a "could not send
sticky events" warning, I'm also getting a "streaming task paused, reason
not-negotiated". Also, it doesn't seem to like my use of "disconnect" for
the "need-data" signal. It contradicts the GObject docs saying it's
expecting an integer rather than a string. I've never done anything with
pushing buffers around manually, so I'm a little out of my depth here.

Here my slightly messy source (also probably full of bad practices):
http://pastebin.com/49ExZN4h

Thanks.


On 19 December 2012 16:28, Nox Deleo <noxdeleo at googlemail.com> wrote:

> No worries, and thanks for the help.
>
>
> On 19 December 2012 16:03, Tim-Philipp Müller <t.i.m at zen.co.uk> wrote:
>
>> On Wed, 2012-12-19 at 15:52 +0000, Nox Deleo wrote:
>> > Sorry if I'm just being dense here, but the docs package I downloaded
>> > says it's for GStreamer 1.0, and the headings on the following two
>> > pages say the same:
>> >
>> http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-libs/html/gst-plugins-base-libs-appsrc.html
>> >
>> >
>> http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-appsrc.html
>> >
>>
>> > I'm also explicitly asking for GStreamer 1.0 when I load Gst
>> > introspection modules in python, and that's also telling me
>> > push_buffer:
>> > >>> import gi
>> > >>> gi.require_version('GstApp', '1.0')
>> > >>> from gi.repository import GstApp
>> > >>> print(dir(GstApp.AppSrc))
>> > ...'props', 'provide_clock', 'push_buffer', 'query',
>> > 'query_convert'...
>>
>> > Very confusing.
>>
>> Sorry, you're entirely right. It's me who was confused.
>>
>> It is indeed push-buffer for appsrc.
>>
>> appsink was changed from buffer to sample, I just assumed the same was
>> done for appsrc as well, but seems not (and it's not really needed since
>> you can set the caps via the property upfront anyway).
>>
>> Apologies for the confusion :)
>>
>> Cheers
>>  -Tim
>>
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20121219/57e6b89b/attachment-0001.html>


More information about the gstreamer-devel mailing list