* ALL: changes to the playlist_Add() and VLC_AddTarget() proto to include a list of options associated with the input. * src/input/input.c: parses the input options list before spawning the input and create object variables for these options. Options are of the form "[no[-]]foo[=bar]" where foo is the option name and bar is its value. * src/input/input.c, src/input/input_dec.c: use the object var api to get the value of the "sout", "sout-video" and "sout-audio" options. * src/libvlc.c: extended the command line parser to parse input options. Input options must always follow the input they apply to and begin with a ':'. All these changes allow you to specify input specific options. eg: ./vlc --no-sout-audio yourvideo.mpeg :sout=udp/http::8080 :sout-audio yourvideo2.mpeg Here the ":sout" option will only apply to yourvideo.mpeg. "--no-sout-audio" will be a global option so will apply to yourvideo2.mpeg but the global behaviour is overriden by ":sout-audio" for yourvideo.mpeg. TODO: - the interfaces need to be modified to benefit from the new playlist_Add() api. - only "sout", "sout-video", "sout-audio" implemented for now. To make it work with other options, we need to get rid of all the config_GetFoo() and replace them with var_Create()/var_Change()/var_Get().
Showing with 330 additions and 119 deletions