about summary refs log tree commit homepage
path: root/lib/dtas/player.rb
DateCommit message (Collapse)
2013-08-26player: do not assign @current until successful spawn
This should hopefully prevent us from getting wedged if we hit an error while preparing to spawn (or during spawn).
2013-08-26add lightly-tested ffmpeg support
Since ffmpeg/ffprobe are wrappers around their libav-variants, I haven't had the chance to actually test with "real" ffmpeg, but the usage is probably similar enough to not matter.
2013-08-26player: break out gracefully if a file is totally unplayable
Sometimes we'll enqueue the wrong file and avconv won't be able to handle it.
2013-08-26player: flesh out multi-source in protocol/sourceedit
We should be fully-capable of managing any number of options to try sources in.
2013-08-26cleanup multi-source handling between sox and av
This should better prepare us to make "source ed" into "source <av|sox> ed" and set per-source priorities. We also now treat @env consistently for all per-source commands (such as soxi/avprobe) so we can be sure we're using the same installation of sox or libav if using a non-standard PATH, or if we want to set AV_LOG_FORCE_NOCOLOR
2013-08-25player: fix logic around sink death/respawns
We do not need a respawn flag, since we already infer expected vs unexpected sink death by checking the @targets array. Additionally, next_source must always check @current before calling, and not clobber the existing @current because that would cause two source processes writing into the same pipe.
2013-08-25preliminary support for avconv/avprobe from libav
avconv is capable of outputting to the .sox format, greatly simplifying our life as it enables us to easily apply sox effects on a per-source file basis. dtas-sourceedit and the "source" protocol commands will need to change to support internal priorities (like sink).
2013-08-25split out source handling to prepare for avconv/ffmpeg support
We should've done this at the start, but we didn't.
2013-08-25player: remove unreachable branch
a sink can never have respawn set and not be active
2013-08-25more cleanups for packaging and documentation v0.0.0
Rename COPYRIGHT -> COPYING, as that seems to be the more common name for the GPLv3 license file. Kill all rdoc, since I don't agree with HTML documentation and we do not expose any Ruby APIs.
2013-08-25player: preserve format across invocations
We maintain most everything else, so we should maintain this, too.
2013-08-24player: cd/pwd handlers for manipulating working directory
Some effects may be easier to save/store with relative directory paths, so allow changing this at runtime.
2013-08-24initial commit