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 668093 - baseadativesink: Add new base class for adaptive sinks
baseadativesink: Add new base class for adaptive sinks
Status: RESOLVED DUPLICATE of bug 688310
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks: 668094 688310
 
 
Reported: 2012-01-17 14:06 UTC by Andoni Morales
Modified: 2013-04-17 23:41 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Andoni Morales 2012-01-17 14:06:43 UTC
GstBaseAdaptiveSink is a new base class for sink elements in GStreamer that
needs to fragment incoming streams and provide a media representation in the
form of manifest or playlist for adaptive streaming formats such as DASH,
HLS or Smooth Streaming.

This base class use the GstForceKeyUnit events to fragment the incoming data and update the media representation. Subclasses must implement a GstMediaManager that renders the media representation based on the added fragments.

The work is beeing done in the following branch:
https://github.com/ylatuya/gst-plugins-bad/tree/base_fragmented
Comment 1 Andoni Morales 2012-10-22 11:26:57 UTC
I have ported the base class to 1.0 in the following branch https://github.com/ylatuya/gst-plugins-bad/tree/baseadaptive

This base class is being used for the DASH and HLS sinks, and it could be reused for Smooth Streaming too.

The fragmentation happens with upstream GstForceKeyUnit events and it no longer requires and upstream element sending downstream GstForceKeyUnit as the previous implementation. It supports multibitrate streams, and fragments are handled in the GstFragment object, allowing for an application interface with the signals "new-playlist" and "new-fragment" in case applications need to handle them internally instead of writing them to disk. It also has 2 operating modes for fragments, chunked and not chunked, where fragments can be saved in separate files or in the same file for byterange access, which is used both by DASH and the version 4 of the HLS  protocol.
Comment 2 Olivier Crête 2013-04-17 23:41:43 UTC
This is for the same code as bug #688310, so let's discuss things there as there is already some comments.

*** This bug has been marked as a duplicate of bug 688310 ***