]> git.sesse.net Git - vlc/commit
sout: allow duplicate outputs to be merged
authorRafaël Carré <rafael.carre@gmail.com>
Sun, 17 Jan 2010 06:37:33 +0000 (07:37 +0100)
committerRafaël Carré <rafael.carre@gmail.com>
Sun, 17 Jan 2010 06:37:33 +0000 (07:37 +0100)
commit1743aae3ec2b5e8b02c3bad36dcd50914ac09d8a
tree806d56fcdf97aedcc60f74dd1cb9f3ffe385b6ac
parentd83a491d2b7a307b0cb0520a1f330e15697786a0
sout: allow duplicate outputs to be merged

The stream_out_t chain creation is modified: all modules are created by
the core (or by stream_out_duplicate) instead of being created by the
previous module.

sout_StreamChain{New,Delete} replace sout_Stream{New,Delete} to handle
modules chains instead of individual modules

sout_Stream{New,Delete} are still used by those new functions but made
static inside stream_output.c

Remove now unneeded psz_chain from struct sout_instance_t
Replace pointer to chain of next module by pointer to next module in
struct sout_stream_t

Example use:

vlc --sout-all input.mp4 --sout
"#duplicate{dst=transcode{vcodec=mp2v},select=es=0,dst=transcode,select=es=1}:std{...}"

(dst=transcode without acodec/vcodec is a hack to pass the encoded stream to
stream_out_standard without transcoding)
15 files changed:
include/vlc_sout.h
modules/stream_out/autodel.c
modules/stream_out/bridge.c
modules/stream_out/duplicate.c
modules/stream_out/gather.c
modules/stream_out/record.c
modules/stream_out/switcher.c
modules/stream_out/transcode/audio.c
modules/stream_out/transcode/osd.c
modules/stream_out/transcode/spu.c
modules/stream_out/transcode/transcode.c
modules/stream_out/transcode/transcode.h
modules/stream_out/transcode/video.c
src/libvlccore.sym
src/stream_output/stream_output.c