- Make attributes internal with _ naming
- Cleanup handling of min durtion. Min set to None disables the check.
- Check state change result for no preroll which indicates a live source which
must transistion to playing to get tags etc.
- Add a common Listener base class
- Make send helper for sending out events with pykka
- Make send async helper for avoiding blocking events
This change ensures all the events now get sent out via the MainThread instead
of blocking the actors.
- Unlike the old python version we do not wait for the first audio handoff, we
only progress until the PAUSED state. This ensure we don't block on empty files.
- Instead of using the signal watch and running the main loop we simply poll
the messages from the bus directly allowing for a synchronous code flow.
- Between each file the pipeline is always returned to NULL, this is done as we
found that gst 0.10 will slow down as the uribin does not cleanup the
children it creates for handling each file. This issue is not present in 1.0.
- This also works around a segfault that was likely caused by a race condition
that seems to trigger in the 0.10 version of the pbutils discoverer.
- This version of the scanner also fixes the per track slow down, and works out
to be considerably faster than even the built in discoverer from 1.0.
- Finally this removes the WMA hack as I kan no longer find any evidence of it
being needed.
Quick hack that wraps a regular HTTP src in a custom bin that converts icy://
to http:// - this is needed to get for instance http://somafm.com/m3u/groovesalad.m3u
to work.
This element "simply" takes the list of uris that our other elements have
already converted to simpler format, picks the first uri and play it. This
is done by ensuring that we block the right EOS messages, and all new segment
messages from the original sources. With these events blocked we can inject
our own nested uridecodebin to play the uri and push our own data. The nested
uridecodebin is setup with caps('any') to ensure that we don't suddenly demux
and end up with multiple streams by accident.