GNOME Bugzilla – Bug 777441
dashdemux: Add support for DASH-IF Trick Modes
Last modified: 2018-11-03 14:03:53 UTC
Add support for Trick Mode play as per DASH-IF Interoperability v3.3 point: 3.2.9. Use Adaptation Sets with a Essential Property set to: "URI: http://dashif.org/guidelines/trickmode" as Adaptation Sets for Trick Mode playback only.
Created attachment 343704 [details] [review] dashdemux: mpdparser: Add EssentialProperty parsing for DASH-IF trickmode
Created attachment 343705 [details] [review] dashdemux: mpdparser: Fixed choosing representation for high bandwidth.
Created attachment 343706 [details] [review] mpdparser: Fixed setting video framerate. Representation takes precedence
Created attachment 343707 [details] [review] dashdemux: mpdparser: DASH-IF Trick Modes support added.
Streams used for tests can be found here: http://visla.co.uk/dash/
Created attachment 343749 [details] [review] dashdemux: mpdparser: Add EssentialProperty parsing for DASH-IF trickmode
Created attachment 343750 [details] [review] dashdemux: mpdparser: Fixed choosing representation for high bandwidth.
Created attachment 343751 [details] [review] mpdparser: Fixed setting video framerate. Representation takes precedence
Created attachment 343752 [details] [review] dashdemux: mpdparser: DASH-IF Trick Modes support added.
Rebased on master.
Created attachment 345037 [details] [review] dashdemux: mpdparser: DASH-IF Trick Modes support added. Compilation warnings cleared.
Review of attachment 343749 [details] [review]: Can you make the commit messages be: dashdemux: <max 80 column description> <blank> <more description> ::: ext/dash/gstdashdemux.c @@ +617,3 @@ + + for (list = + g_list_first (adapt_set_node->RepresentationBase->EssentialProperty); Don't use g_list_first(something). Just use something. @@ +656,3 @@ + trick_adapt_set_node->id, parent_adapt_set_node->id); + + /* TODO */ Please make one patch which adds all parts of this feature (i.e. parsing and handling of adaptation sets).
Review of attachment 343750 [details] [review]: You're modifying the type of bitrate also (signed->unsigned) Update commit description accordingly. And I don't really understand the issue at hand. Do you mean you can get values greater than 2**32 bits for the bitrate ? If so use G_MAXUINT32 instead (more readable)
Created attachment 350891 [details] [review] dashdemux: Fixed choosing representation for high bandwidth. Review comments taken into account.
Created attachment 350892 [details] [review] dashdemux: DASH-IF Trick Modes support added. Review comments taken into account.
Yes, I had bitrate values greater than 2^32 pretty much all the time. As in the commit message: available bandwidth is easily more than 4 Gbits when DASH server is running on a local PC with a SSD drive.
-- 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/gst-plugins-bad/issues/510.