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 696751 - videodecoder: should pass through buffer offsets
videodecoder: should pass through buffer offsets
Status: RESOLVED WONTFIX
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
1.0.6
Other Windows
: Normal minor
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-03-28 06:46 UTC by steffen.roeber
Modified: 2018-05-05 15:09 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description steffen.roeber 2013-03-28 06:46:32 UTC
In 0.10.x I used the GstBuffer::offset member to retrieve the current frame number. This field is always -1 now. So how to get the frame index in my appsink? 
It seems occur if I use gst-libav (filesrc, decodebin, appsink). I get 
same behaviour in all my sample movies.
In gst debug out I can sse, that the avidemux sets rhe offset correctly. but after passing through decoder this field is -1.
Comment 1 Sebastian Dröge (slomo) 2013-04-04 09:20:46 UTC
Should it pass through the offsets or put the frame count into the offset in any case, no matter what upstream did? I think only the last makes sense, and that (actually both) can easily be added to GstVideoDecoder.
Comment 2 Tim-Philipp Müller 2013-04-04 10:06:27 UTC
I guess just always putting the offset on there is fine too, probably even better, but it should still honour upstream offsets. And what does it do after seeks if there wasn't an upstream offset with the first buffer? What does it do after disconts? This whole buffer offset thing is often just misleading really.
Comment 3 Sebastian Dröge (slomo) 2013-04-04 10:12:48 UTC
I don't know :) And how do you detect if upstream offsets are frame numbers or something complete different (e.g. granulepos)
Comment 4 Tim-Philipp Müller 2013-04-04 10:14:20 UTC
They should always be frame numbers for video. Isn't granulepos in OFFSET_END? (though it should really be in a meta imho)
Comment 5 Sebastian Dröge (slomo) 2013-04-04 10:51:29 UTC
There's some weird other value in OFFSET for Ogg IIRC... but yes, it should be meta and we failed to change that in time for 1.0 :)
Comment 6 Tim-Philipp Müller 2013-04-04 10:57:44 UTC
Does the ogg/granulepos stuff actually still matter? Doesn't oggdemux put proper timestamps and durations on buffers now?
Comment 7 Sebastian Dröge (slomo) 2013-04-04 11:40:21 UTC
I think it's still relevant for oggmux
Comment 8 Tim-Philipp Müller 2013-04-04 11:46:59 UTC
True, but that's not something we need to worry about in GstVideoDecoder.
Comment 9 Sebastian Dröge (slomo) 2013-04-04 11:53:31 UTC
No, but upstream of the decoder puts this into the buffer offset... so re-using any offset information from upstream can be a bit tricky
Comment 10 Tim-Philipp Müller 2018-05-05 15:09:00 UTC
I don't think we're going to fix this any time soon, sorry. Not convinced there's a great deal of value in this apart from a few very specialised formats/cases.