[gst-devel] proposal of new core element

Thomas Vander Stichele thomas at apestaart.org
Wed Apr 21 10:55:03 CEST 2004


Hi,

I'd like to add a new element to the core.  It would work on its own as
well as serve as a base element to subclass from for specific media
types.

Basically, it rechunks buffers to a given size.  It's based on Andy's
buffer-frames-convert element.  We need the same functionality for
video, so I thought it'd make sense to have this as a core element.

The reason we need this for video is that sometimes one buffer doesn't
correspond to one video frame; for example in the case of getting raw
video data from the network or a pipe.  This hasn't been a problem up to
now because most elements working with video implicitly give out or take
in one buffer as a frame; ie. our video decoders happen to send out one
buffer per frame, and our video consumers happen to take one buffer per
frame.

The basic element currently has a buffer-size and buffer-rate property. 
For video, for example, the buffer-size can be calculated from the caps.

Right now, it explicitly sets timestamps, ignoring the incoming ones. 
It probably makes sense to have a way of disabling that, and recalculate
timestamps from incoming buffers.  It will need some guesswork though
since the outgoing buffers have slightly different timestamps in
practice, but it's not always easy to calculate if the mapping is not
linear.

In the future, maybe it might make sense to have a suggested buffer size
be part of the caps somehow, just like Andy added buffer-frames for
pro-audio.

Anyway, feel free to comment on the base element.  Does anyone mind if I
commit this (with some cleanups) so I don't have to lug patches around
all the time ? :)

Thanks
Thomas


Dave/Dina : future TV today ! - http://www.davedina.org/
<-*- thomas (dot) apestaart (dot) org -*->
I can't go away with you on a rock climbing weekend
What if something's on TV and it's never shown again
Just as well I'm not invited I'm afraid of heights
I lied about being the outdoor type
<-*- thomas (at) apestaart (dot) org -*->
URGent, best radio on the net - 24/7 ! - http://urgent.fm/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: gstreframer.c
Type: text/x-c
Size: 9340 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20040421/aae0ea2e/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gstreframer.h
Type: text/x-c-header
Size: 2005 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20040421/aae0ea2e/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: reframer.patch
Type: text/x-patch
Size: 2179 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20040421/aae0ea2e/attachment-0002.bin>


More information about the gstreamer-devel mailing list