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 720220 - Proposed changes to the librygel-server MediaEngine & DataSource APIs
Proposed changes to the librygel-server MediaEngine & DataSource APIs
Status: RESOLVED FIXED
Product: rygel
Classification: Applications
Component: GStreamer media engine
unspecified
Other Linux
: Normal enhancement
: ---
Assigned To: rygel-maint
rygel-maint
Depends on: 720218
Blocks: 720223 720224 722724 722888
 
 
Reported: 2013-12-10 23:19 UTC by Craig Pratt
Modified: 2015-02-13 12:46 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Proposed changes to the MediaEngine & DataSource APIs (48.34 KB, patch)
2013-12-10 23:19 UTC, Craig Pratt
none Details | Review
Proposed changes to the MediaEngine & DataSource APIs (with live mode updates) (48.56 KB, patch)
2014-03-06 02:06 UTC, Craig Pratt
needs-work Details | Review

Description Craig Pratt 2013-12-10 23:19:17 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.
Comment 1 Craig Pratt 2014-03-06 02:06:52 UTC
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.
Comment 2 Jens Georg 2014-06-30 19:53:35 UTC
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
Comment 3 Jens Georg 2015-01-07 07:14:36 UTC
Breaks upload
Comment 4 Jens Georg 2015-02-13 12:46:12 UTC
Code from github repo imported into master