|
pianod2
multisource multiuser scriptable networked music player
|
Audio output class utilizing gstreamer for output. More...
#include <gstreamplayer.h>


Public Member Functions | |
| GstreamerOutput (const AudioSettings &settings, const AudioFormat &format) | |
| virtual bool | play (void *buffer, unsigned numberOfBytes) override |
| Play output. More... | |
Public Member Functions inherited from Audio::Output | |
| virtual | ~Output () |
| char | bytesPerSample () |
Public Member Functions inherited from Audio::GstreamerSimplePipeline | |
| GstreamerSimplePipeline () | |
| virtual | ~GstreamerSimplePipeline () |
Private Attributes | |
| AudioSettings | audio |
| Output settings. More... | |
| GstElement * | application_source = nullptr |
| Element for application to push data into. More... | |
| GstElement * | format_converter = nullptr |
| Convert audio to required format for output. More... | |
| GstElement * | output_device = nullptr |
| Send audio to somewhere. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from Audio::Output | |
| static bool | isValidOutput (const AudioSettings &settings) |
| Check if audio settings are valid. More... | |
| static bool | outputCanCrossfade (const AudioSettings &settings) |
| Check if audio settings are valid. More... | |
| static Output * | getOutput (const AudioSettings &settings, const AudioFormat &format) |
| Factory gets whatever kind of output is best, or requested by the audio settings. More... | |
| static void | reportLibrariesAndVersions (int verbose) |
| Report audio libraries in use, and their versions. More... | |
Protected Member Functions inherited from Audio::GstreamerSimplePipeline | |
| void | add (GstElement *element) |
| void | throwDeferredException (const GstreamerAudioException &exception, bool asynchronously=false) const |
| "Throw" an exception from an asyncrhonous player thread. More... | |
| void | throwAsyncException (const GstreamerAudioException &exception) |
| void | push (GstElement *item) |
| Wire an item to the pipeline/filter graph. More... | |
| GstElement * | createElement (const char *name, const std::string &overrides="") |
| Create a gstreamer element and add it to the pipeline/bin, unwired. More... | |
| GstState | currentPipelineState () const |
| Query the pipeline's current state. More... | |
| void | setPipelineState (GstState state) |
| Set the pipeline's state. More... | |
Protected Attributes inherited from Audio::Output | |
| char | bytes_per_sample_set |
Protected Attributes inherited from Audio::GstreamerSimplePipeline | |
| GstElement * | pipeline |
| Filter graph for elements. More... | |
| GstElement * | chain_start = nullptr |
| First item pushed on the stream after setup. More... | |
| GstElement * | pipeline_last = nullptr |
| Last item pushed on the stream. More... | |
| std::recursive_mutex | state_mutex |
| std::unique_ptr< GstreamerAudioException > | pipeline_exception |
| Asynchronous exception. More... | |
Audio output class utilizing gstreamer for output.
| Audio::GstreamerOutput::GstreamerOutput | ( | const AudioSettings & | settings, |
| const AudioFormat & | format | ||
| ) |

|
overridevirtual |
Play output.
| buffer | The samples, in packed (interleaved) format if multichannel. |
| number_of_bytes | Size of the buffer; number of samples is determined by the audio format set when opening the channel. |
Implements Audio::Output.

|
private |
Element for application to push data into.
|
private |
Output settings.
|
private |
Convert audio to required format for output.
|
private |
Send audio to somewhere.