Hugo Beauzée-Luyssen
7aac9b989a
chromecast: Hide some private variable from settings
9 years ago
Hugo Beauzée-Luyssen
2be0e04d11
chromecast: Add a setting to enable/disable casting multichannel PCM
9 years ago
Hugo Beauzée-Luyssen
8a19baae44
chromecast: Add a setting to enable/disable audio passthrough
This is for (E)AC-3 only, since DTS isn't supported by the chromecast so
far
9 years ago
Hugo Beauzée-Luyssen
5810b8d6bd
chromecast: Handle multiple transcode/remux configurations
This is a best guess strategy, since we might receive a message stating
"LOAD_FAILED" (without any information about what failed), but we might
also receive nothing.
9 years ago
Thomas Guillem
1ba2861529
chromecast: transcode in AAC when needed
In order to support more than 2 audio channels.
9 years ago
Hugo Beauzée-Luyssen
40605135c7
chromecast: Display a warning dialog when transcoding
refs #19306
9 years ago
Thomas Guillem
c682ebc079
chromecast: fix leak when the stream is not supported
9 years ago
Thomas Guillem
a8a2a66eae
chromecast: fix block leak in case of error
9 years ago
Sebastian Ramacher
3c576f319d
chromecast: Fix spelling of 'controller'
Signed-off-by: Sebastian Ramacher <sramacher@debian.org>
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
9 years ago
Steve Lhomme
abfa36e7dc
chromecast:cast: compare fourccs as vlc_fourcc_t
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Hugo Beauzée-Luyssen
dee5abc1c5
chromecast: Fix streamId leak
9 years ago
Hugo Beauzée-Luyssen
42db691c4b
chromecast: Always recreate the stream output chain
This was yielding false negative when remuxing (as the chain wouldn't
change, while the streams would)
9 years ago
Hugo Beauzée-Luyssen
a47ae56003
chromecast: Invert a condition to reduce indentation
9 years ago
Hugo Beauzée-Luyssen
47c3db1455
chromecast: Split out sout chain creation in a specific function
9 years ago
Hugo Beauzée-Luyssen
30e0b39341
chromecast: No need to transcode opus
9 years ago
Hugo Beauzée-Luyssen
29873c7777
chromecast: Rename b_has_video -> b_supports_video
9 years ago
Hugo Beauzée-Luyssen
045366cd24
chromecast: Fix potential deletion of uninitialized value
9 years ago
Hugo Beauzée-Luyssen
5d778ba72e
chromecast: Remove dead code
CID #1413313
10 years ago
Hugo Beauzée-Luyssen
ad0773722b
chromecast: Fix transcode chain creation
5ee8e52 introduced a regression which caused video codec never to be
transcoded
10 years ago
Hugo Beauzée-Luyssen
71f6fc8ffe
chromecast: Don't call setHasInput( false )
This is a no-op.
10 years ago
Hugo Beauzée-Luyssen
daa943ba42
chromecast: Connect to the chromecast ASAP
So that we don't even bother with loading the module if we can't do
anything with it.
This also allows us to drop some member variables, since we don't need
to remember the device IP/port from the intf_sys_t class anymore
10 years ago
Hugo Beauzée-Luyssen
5ee8e52920
chromecast: Don't transcode supported codecs
10 years ago
Hugo Beauzée-Luyssen
329708673e
chromecast: Minor simplification
10 years ago
Hugo Beauzée-Luyssen
26c2732f8d
chromecast: Pass the codec to check codec compatibility
10 years ago
Hugo Beauzée-Luyssen
e9ccb20963
chromecast: Fix undefined behavior in case of error
Removing an element from a container and using the iterator pointing to
the removed element afterward is UB
10 years ago
Hugo Beauzée-Luyssen
775feb608d
chromecast: Log the generated sout chain
10 years ago
Steve Lhomme
f00d78110e
chromecast: MPEG Audio Layer 2 doesn't work with the Chromecast
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
10 years ago
Steve Lhomme
64e59dce8d
chromecast: use the live Matroska muxer as we're live streaming
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
10 years ago
Steve Lhomme
d2399480e9
chromecast: log which codec cannot be handled by the transcoder
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
10 years ago
Steve Lhomme
20b9e3d1dc
chromecast: fix http out leak when transcoding
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
10 years ago
Steve Lhomme
80fb9f7f3b
chromecast: don't start the playback when no stream can be sent
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
10 years ago
Jean-Baptiste Kempf
83609d6fea
chromecast: remove trailing space
10 years ago
Steve Lhomme
e657ddcb29
chromecast: fix the time displayed after seeking
When seeking the Chromecast will flush its buffering and start playing
after it has enough data. We wait until it says it's playing after a seek
to guess the playback time it's resuming to.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
10 years ago
Steve Lhomme
b42ce7336f
chromecast: send a dummy SEEK message when flushing is needed
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
10 years ago
Steve Lhomme
eaf14d15fe
chromecast: send a STOP message when we have no ES to send
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
10 years ago
Steve Lhomme
bf2f12783e
chromecast: use an interrupt to notify the receiving thread of pending work
In some cases we will need to send STOP or SEEK messages from some threads
that have been interrupted, resulting in TLS not sending the data. So now
we send messages from the receiving thread.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
10 years ago
Steve Lhomme
dec57440ec
chromecast: EOF is when the Chromecast is finished reading all sent data
It will then tell it's buffering, waiting for more data
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
10 years ago
Steve Lhomme
d5b6904d4d
chromecast: tell the control class when to tell the Chromecast to load content
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
10 years ago
Steve Lhomme
284769159c
chromecast: use the control class with fixed device ip/port
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
10 years ago
Steve Lhomme
d0fb8bbe6b
chromecast: only create the sub-sout when we know the ES in use
we then decide whether we want to remux or transcode
use the Matroska container as it allows better streaming and more codec than
the Chromecast supports (VP8 / Vorbis)
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
10 years ago
Steve Lhomme
ada686e8b0
chromecast: use a local sout_stream_id_sys_t containing the es_format_t
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
10 years ago
Steve Lhomme
a0df461a73
chromecast: var_GetNonEmptyString() cannot return a "" string
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
10 years ago
Steve Lhomme
13a15f01f2
chromecast: remove unused variable
11 years ago
Steve Lhomme
8bdfa41e64
chromecast:sout: fix crash when pf_control is NULL
11 years ago
Steve Lhomme
cbc6fd07b4
chromecast:sout: pass the MIME type to the HTTP output
11 years ago
Steve Lhomme
7610d7aaff
chromecast:sout: discard ES that are not audio for audio-only devices
11 years ago
Steve Lhomme
57abfc977b
chromecast: simplify the sout cleaning
11 years ago
Steve Lhomme
d99478cb40
chromecast: move the Chromecast communication in a control interface module
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
11 years ago
Steve Lhomme
7f57552112
chromecast_ctrl: send messages right away
The Chromecast protocol is not a client server, all requests don't get an
answer and we can receive unexpected broadcasts.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
11 years ago
David Fuhrmann
6db91d9999
chromecast: include errno.h
Fixed compilation on OS X, ETIMEDOUT was not defined.
11 years ago