[Pianod] r232 gstreamer
Perette Barella via Pianod
pianod at lists.deviousfish.com
Fri Aug 12 21:17:01 PDT 2016
For those of you running into libav troubles (the timeout woes), there’s a partial gstreamer implementation in development downloads, r232. You’ll need to install glib, glibmm, gstreamer, gstreamermm, and the gstreamer base, ugly and good plugins to compile. Some `configure` options have changed; INSTALL has been updated.
The player is fully functional (volume, play/pause, duration and playpoint reporting) on my Mac using gstreamer’s built-in outputs. However, metadata reading still needs to be implemented, and it hasn’t been tested on other platforms. For gstreamer, an alternate audio output can be chosen by setting the DEVICE audio field when creating or reconfiguring a room using gst-launch syntax (you only need to specify an output element; the rest of the pipeline is supplied).
gst-launch docs: https://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-programs.html#section-programs-gst-launch <https://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-programs.html#section-programs-gst-launch>
Element lists and documentation are here: https://gstreamer.freedesktop.org/documentation/plugins.html
As far as the implementation...
Being accustomed to ffmpeg, AVFoundation and libav, gstreamer has been a pleasure. The manual is helpful and accurate, the API feels clean even if the whole GObject system seems dated and like a poor man’s attempt to replicate Objective-C.
The C++ bindings require a bundle of extra libraries, are less well documented and don’t obey the usual C++ practices but are ok to work with, especially the type safety they provide. I ran into a few snags that necessitated a bit of using the C interface because Glib::Value<> doesn’t always work right, but the automatic reference counting made up for it. And the older APIs are wide-open to shooting myself in the foot.
Perette
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.deviousfish.com/pipermail/pianod-deviousfish.com/attachments/20160813/0ca6d480/attachment.htm>
More information about the Pianod
mailing list