Francois Cartegnie
1e79623750
sout: transcode: allow to restart with same id
8 years ago
Francois Cartegnie
2e5bc0cc65
sout: transcode: refactor drain
8 years ago
Filip Roséen
5e4cd2e34e
sout: transcode: designated init in decoder_owner_callbacks
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
8 years ago
Francois Cartegnie
79c8a34d1a
sout: transcode: check linear format using macro
8 years ago
Francois Cartegnie
e2ed74fc9d
transcode: split encoding code
8 years ago
Francois Cartegnie
80027c016d
transcode: video: use local master condition instead of global boolean
8 years ago
Francois Cartegnie
f623723642
transcode: reference enc/filter config as id members
8 years ago
Francois Cartegnie
8a313714a3
transcode: audio: use same object in destructor
8 years ago
Francois Cartegnie
7531a4f522
transcode: audio: use helper to compare format
8 years ago
Francois Cartegnie
bd14a12924
transcode: audio: refactor encoder and filters config
8 years ago
Francois Cartegnie
5154805d33
transcode: audio: move id out of filters init
8 years ago
Francois Cartegnie
8ccfbddc29
transcode: audio: remove id from configuration
8 years ago
Francois Cartegnie
72422d34de
transcode: audio: fix dequeing on error
8 years ago
Francois Cartegnie
1f6c01737f
transcode: refactor audio
8 years ago
Francois Cartegnie
55fa51e708
transcode: audio: use ARRAY_SIZE
8 years ago
Francois Cartegnie
218f226f9f
transcode: audio: use aliases in audio enc init
8 years ago
Francois Cartegnie
e52a67d526
transcode: rename ambigous var
8 years ago
Steve Lhomme
1f17997348
rename VLC_TS_INVALID to VLC_TICK_INVALID
8 years ago
Steve Lhomme
ff56c92a5e
rename mtime_t to vlc_tick_t
Keep a copy of vlc_tick_tfor backward compatibility.
8 years ago
Francois Cartegnie
68a049fee8
sout: transcode: reorder includes
8 years ago
Thomas Guillem
d49b43b606
dec: hide owner and callbacks from modules
8 years ago
Thomas Guillem
88e21b944b
dec: fix incompatible pointer type
Introduced by 86df4f3d1b
8 years ago
Rémi Denis-Courmont
f80f542a97
aout: use float rate for filters
8 years ago
Steve Lhomme
fe499f7cef
transcode:audio: simplify code to reset the master sync
id->next_input_pts and p_audio_buf->i_pts are the same after the date_Set().
8 years ago
Romain Vimont
238459bf4f
core: replace sout_stream_sys_t* by void*
See #17078
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
8 years ago
Rémi Denis-Courmont
008d355b97
modules: add/use module_need_var()
...to get the module name or module name list from an object variable.
8 years ago
Thomas Guillem
e426b400b9
transcode: audio: fix global-buffer-overflow
8 years ago
Thomas Guillem
a6f6c3416f
transcode: fix error handling
Forget a b_error case. Regression from 67e9931642
CID #1427674 #1427673
8 years ago
Thomas Guillem
67e9931642
transcode: change error handling
Don't reset b_transcode to false in case of error, otherwise transcoding
resources won't be freed.
8 years ago
Thomas Guillem
91c3b27efe
transcode/audio: init muxer format lately
This can fix channels (or other params) mismatch when decoders update their
fmt_out lately. This is the case for dts-hd for example (first decoder/encoder
initialisation gives 5.1, then 7.1).
8 years ago
Thomas Guillem
26cf436f2a
transcode/audio: fix audio_dec_out fmt before first encoder initialization
c.f. comment.
8 years ago
Thomas Guillem
0b80b6d1b8
transcode/audio: fix dec->fmt_out thread safety
Since the decoder fmt_out can be updated from any threads with async decoders.
PS: As audio output blocks are not linked with a audio_format_t, it's still not
possible to know the real fmt of an audio output block if the format changed.
8 years ago
Thomas Guillem
9ef48c7369
transcode/audio: remove historical AAC SBR hack
Should have been fixed by fbfe10b4df
This is not needed anymore since the encoder use the updated decoder fmt_out
format.
8 years ago
Thomas Guillem
d57688d952
transcode/audio: don't initialise dec->fmt_out
It's already done by transcode/transcode.c
8 years ago
Hugo Beauzée-Luyssen
720773f598
transcode: audio: Fix potential user after free
8 years ago
Francois Cartegnie
c2786ac015
sout: transcode: fix leak
9 years ago
Hugo Beauzée-Luyssen
de8f3ca89a
transcode: audio: Fix format copy
This was causing a double free during decoder cleanup
9 years ago
Steve Lhomme
23f18d5e95
transcode: clean function declarations
Some are gone, some are only used in the file they are defined.
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
9 years ago
Thomas Guillem
91f426996c
es: replace i_original_channels with i_chan_mode
Rename i_original_channels to i_chan_mode. For now, chan modes can be
DOLBYSTEREO or DUALMONO.
This new value, i_chan_mode, should only be set by demuxes/codecs/packetizers
if there is a special stereo mode to handle.
9 years ago
Thomas Guillem
beb248a3f2
aout: aout_FiltersNew() can now remap channels
Add the possibility to pass an array of chan orders to the aout_FiltersNew
function.
9 years ago
Francois Cartegnie
a49d637ad3
sout: transcode: reject spdif passthrough as decoder
transcode asserting in aout_FiltersPipelineCreate
9 years ago
Rémi Denis-Courmont
89504cd744
decoder: use "audio decoder" capability for audio decoders
This avoids probing video or SPU decoders for audio format and vice-
versa.
9 years ago
Thomas Guillem
23af9317fb
transcode/audio: also drain the decoder
9 years ago
Thomas Guillem
a8b249bc6b
decoder: refactor pf_decode_* callbacks
Use only one callback for every decoder types:
int (*pf_decode)(decoder_t *, block_t *p_block);
There is now only one way to send output frames/blocks from a decoder module:
using decoder_QueueVideo(), decoder_QueueAudio() and decoder_QueueSub()
functions.
This fixes transcoding not receiving any output when a decoder used
decoder_Queue*() function.
The pf_packetize callback is kept unchanged. A packetizer shouldn't be
asynchronous at all (and this simplify the locking for decoder core).
The pf_decode callback returns, for now, only one value: SUCCESS. This will
allow a module to send more status.
9 years ago
Filip Roséen
3342312bb7
transcode/audio: fix leak if transcode_audio_initialize_filters fail
fixes #17428
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
10 years ago
Filip Roséen
c463ea09cd
transcode/audio: fix leak if transcode_audio_initialize_encoder fails
fixes #17428
Signed-off-by: Thomas Guillem <thomas@gllm.fr>
10 years ago
Rémi Denis-Courmont
49364d3a6a
transcode: missing const
11 years ago
Ilkka Ollakka
991d2ebf6e
transcode: keep in track of input pts drift for video
Also name it to be next_input_pts instead of interpolated_pts
If input drift is more than 100ms that we estimate, we have most
likely dropped some packet and we should reset timers. Otherwise
it can cause lipsync issues if we for example just transcode video
track and audio track keeps original (jumped) pts.
12 years ago
Ilkka Ollakka
a90263be45
transcode: store fmt per id/track
This helps to keep filters etc if there is for example 2 different audio
tracks with different channel count etc.
12 years ago
Ilkka Ollakka
6b7dcd7016
transcode: cleanup channel setup and allow upmixing
Allow channel upmixing as we have channel mixer that is able to do it.
Fixes #7261
12 years ago