avformat/mpegts: add scan_all_pmts option

This allows selecting if the demuxer should consider all streams to be
found after the first PMT and add further streams during decoding or if it rather
should scan all that are within the analyze-duration and other limits

Fixes Ticket3762

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avformat/mpegts: improve first valid PMT heuristic

This checks for audio+video instead of streams > 2
Fixes Ticket4090

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avcodec/aacenc: check input for NaN

Fixes Ticket3762

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avcodec/aacdec: Skip processing channel elements which have not been present

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avformat/librtmp: fix swfurl

Found-by: JULIAN GARDNER <joolzg@btinternet.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
ffplay: implement separete audio decoder thread

Signed-off-by: Marton Balint <cus@passwd.hu>
ffplay: fix indentation after last commit

Signed-off-by: Marton Balint <cus@passwd.hu>
ffplay: only output null packet once on EOF

The generic decoder properly flushes the codecs with one null packet as well.

Signed-off-by: Marton Balint <cus@passwd.hu>
avfilter/avf_showwaves: fix off by one error in loop condition

It caused segfaults.

Signed-off-by: Marton Balint <cus@passwd.hu>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
lavc/options: fix shallow copy context

avcodec_copy_context leaves shallow copy of string/binary/dict options.
Double free/accessing freed memory may occur.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
lavu/opt: document av_opt_copy function
lavu/opt: copy dict in av_opt_copy

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Set -scan_all_pmts 1 in ffmpeg, ffplay and ffprobe if not set by user.

Fixes ticket #3762.