Register name used to load filter: flist
This filter can be used to play playlist files (extension txt or m3u) or a list of sources using
flist:l=f1[,f2], where f1 can be a file or a directory to enum.
Syntax for directory is:
- dir/*: enumerates everything in dir
- foo/*.png: enumerates all files with extension png in foo
- foo/.png;.jpg: enumerates all files with extension png or jpg in foo
The filter loads any source supported by GPAC, files (remote or local) or other.
The filter forces input demultiplex (no streamtype FILE) and recomputes the input timestamps into a continuous timeline.
At each new source, the filter tries to remap input PIDs to already declared output PIDs of the same type, if any, or declares new output PIDs otherwise. If no input PID matches the type of an output, no packets are send for that PID.
When using a playlist, directives can be given in a comment line (starting with '#' before the file name).
The following directives (separated with space or comma) are supported:
- repeat=N: repeats N times the content (hence played N+1)
- start=T: tries to play the file from start time T seconds (double format only)
Warning: This may not work with some files/formats not supporting seeking
- stop=T: stops source playback after T seconds (double format only)
This works on any source (implemented independently from seek support).
The source lines follow the usual source syntax, see
Additionnal pid properties can be added per source (see
gpac -h doc), but are valid only for the current source, and reset at next source.
The playlist file is refreshed whenever the next source has to be reloaded in order to allow for dynamic pushing of sources in the playlist.
If the last URL played cannot be found in the playlist, the first URL in the playlist file will be loaded.
loop (boolean, default: false): continuously loop playlist/list of files - see filter help
srcs (string list): list of files to play - see filter help
dur (fraction, default: 1/25): for source files with a single frame, sets frame duration. 0/NaN fraction means reuse source timing which is usually not set!
revert (boolean, default: false): revert list of files (not playlist)
timescale (unsigned int, default: 0): force output timescale on all pids. 0 uses the timescale of the first pid found