GNOME Bugzilla – Bug 790047
basedemux: new base class for demux elements
Last modified: 2018-11-03 12:42:53 UTC
To all maintainers Gstreamer has several base classes for core components such as src/sink, parse, decoder/encoder, etc. BUT demux elements are fragmented and has their flow. Actually demux's work flow is quite similar to each other. Pushing input buffer to adapter, read header, expose src pads, feed demuxed ES streams, and so on. Are there basedemux in backlog of maintainers, or even ongoing? Since we now might need to implement GstStream API to almost demux elements, right now seems to good timing to add the basedemux.... What do you think?
It's a decidedly non-trivial task to come up with APIs that work for all formats across the whole range of features and container idiosyncrasies. It will have to be done by someone who has a strong understanding of all common container formats and demuxer implementations. I don't think it's on anyone's radar, although Sebastian did a baseclass in Rust for his Rust flvdemux I believe. This is a long-term task. I don't think we should block making demuxers use the GstStream API on this.
(In reply to Tim-Philipp Müller from comment #1) Thanks to attention :) I've been thought that gstreamer is much more developer friendly than ffmpeg (I'm not expert of gstreamer and ffmepg, though). In some other aspect, however, demuxer's of ffmpeg (libavformat) might seems to be simpler, because it enforces the high level behavior of each demuxer using virtual function, if may understanding is correct. I can fully agree with your opinion that APIs for demux element is non-trivial... I just wanted to listen to maintainer's option in this ticket :) so, please feel free dropping this ticket.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/254.