GNOME Bugzilla – Bug 720220
Proposed changes to the librygel-server MediaEngine & DataSource APIs
Last modified: 2015-02-13 12:46:12 UTC
Created attachment 263950 [details] [review] Proposed changes to the MediaEngine & DataSource APIs Attached is a patch that changes the MediaEngine API to allow for (1) enumeration of primary and secondary stream resource metadata from the MediaEngine, and (2) enhanced DataSource operations via the addition of a new preroll() method. This change (and related changes ) are significant. So a document is attached to Bug 720218 that attempts to explain the changes we're proposing for librygel-server in more detail. (https://bugzilla.gnome.org/attachment.cgi?id=263949) Comments and feedback are welcome.
Created attachment 271057 [details] [review] Proposed changes to the MediaEngine & DataSource APIs (with live mode updates) This is a refresh of the original patch which incorporates a couple small changes to the MediaEngine API. A new resource_changed signal is defined. Since live resources need to change how their metadata is exposed in some cases (e.g when a tuner is tuned away or when an in-progress recording completes), this signal allows a MediaServer to know when to re-enumerate the ME's MediaResources. create_data_source_for_* methods now can throw an error. Live sources (or any sources really) introduce more cases where a resource may become inaccessible between the time of enumeration and source creation. But really this can happen in any case. And allowing these to throw improves error handling.
Review of attachment 271057 [details] [review]: I like the transcoding changes. Apart from style issues (missing new-lines, spaces, this usage) this looks quite ok
Breaks upload
Code from github repo imported into master