Split best element type search from Transcoder::CreateElementForMimeType
into new FindBestElementForMimeType method. This will allow the setting
dialog to determine the encoder element type before the pipeline is
built.
This allows the use of the DumpGraph method in transcoding pipelines. The call
can be added to Transcoder::StartJob for debugging. In the future, a trigger
may be added to the debug console ui.
A bit more information:
Normal transcoding worked fine, the transcoder object was in the main thread. In the network remote, a new transcoder object is created which runs in the network remote thread. When a song was transcoded there, the UI became unresponsive.
Removing the async bus callback solved the problem, exactly the g_source_remove() method caused it. Since the bus callback returned FALSE (GST_BUS_DROP), the watch was already removed. (See http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBus.html#gst-bus-add-watch)
- It is configurable in the settings.
- Any format can be chosen that is supported by the transcoder.
- The status of the transcoder is send to the remote.
- Transcoder format settings have now a postfix so we can define mutliple transcoder formats and use them separatly. Here one for the normal transcoder and one for the network remote transcode. You can pass the postfix in the constructor.
- Fixed Transcoder crash (was introduced with the gstreamer1.0 merge, decodebin doesn't have a "new-decoded-pad").
- Transcoder emits the output filename as well on "JobComplete" signal
- Transcoder can now convert a file to a temporary file ("AddTemporaryJob")