Discussion of GStreamer in Ubuntu TV

Registered by Jim Hodapp

A discussion of the use of GStreamer in Ubuntu TV taking into account any existing third-party GStreamer sources and sinks.

Blueprint information

Status:
Not started
Approver:
Will Cooke
Priority:
Undefined
Drafter:
Jim Hodapp
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

Agenda:

    Participant experience using GStreamer

    GStreamer element for HTTP Live streaming of media content to another media device (e.g. iPad)

    Pros and cons of the different language bindings for interfacing to GStreamer pipelines

    Effective unit testing & integration testing of GStreamer media pipelines

    Using GStreamer on a hardware accelerated embedded device, which sometimes requires physical continuous memory (we need take this into account to improve performance)

    answer is dmabuf + gst 1.0 (fwiw).. will make it possible to pass around hw allocated buffers more easily

    there is also a proposal for eglImage extension to create eglImage from dmabuf, which will fit in nicely w/ gst 1.0

    Approaches to process separation (backend / frontend) for live playback

    Has anyone touched the timeshifting element from Fluendo? [1]

Martin - Been working with it for a while, has coded custom filters. Has also worked on lower level stuff like VDPAU.
Ted - has used it for a bunch of stuff.
Jay - wrote a c++ program to play back video, learnt how to hook it all up. Managed to get a YUV picture
dmj726 - plugin development
Jon - wrote cairo overlay gstreamer element, and gegl gstreamer element (not in mainline yet). Also contributor to smoke-gobject, Qt binding generator from GObject Introspection
[1] http://www.fluendo.com/resources/video-detail/time-shifting-gstreamer/
Each SoC is different. None of them have the same drivers, they will probably support OpenMax
The XVideo for specific SoC may support a certain YUV format only.
gstreamer 0.11.90 is available, which is the release candidate and should have a stable API/ABI already. We need to get packages for it still, part of it seems to be in debian experimental but it is 0.11.1
https://wiki.ubuntu.com/WorkItemsHowto
_Testing_
MPlayer site might have some weird TS streams we can use to test with.
Daily tests, which feed in a video and expect to get the same get of TIFs or whatever (ASCII sink)

(?)

Work Items

Work items:
[jhodapp] What is the plan for GStreamer in 12.10/13.04: TODO
[jhodapp] When is 1.0 going to be released: TODO
[jhodapp] Investigate Qt GStreamer (and introspection): TODO
MPEG TS Demux Software Only -- Fix it: TODO
Investigate CC support and ensure matches needed specs: TODO
[aacid] Ensure patches for table parsing get upstream: TODO
[willcooke] Investigate with standards bodies to get test streams: TODO
[willcooke] Find out which test files can be shared publicly: TODO
[willcooke] Talk to Ubuntu QA to determine infrastructure issues with tests: TODO
[jhodapp] Determine which GStreamer elements need unit tests: TODO
Develop unit tests for existing elements that are used: TODO
Figure out a way to distribute test files over a distributed environment: TODO
Build daily endurance testing with a full pipeline: TODO
Investigate how to get real hardware into our test setup: TODO
[willcooke] Speak to Fluendo etc about testing. Perhaps go to GStreamer conference and present on testing: TODO