oggenc: Flush after writing headers

Before, header information for ogg format files was sent with the
first encoded packet.

This patch makes it so that it is possible for API users to
differentiate between headers and encoded audio. This is useful, for
example, when creating an audio stream where you want to send one set
of headers for every client that connects and then the encoded stream
of audio.

Signed-off-by: Martin Storsjö <martin@martin.st>
Merge commit '9767d7c092c890ecc5953452e8a951fd902dd67b'

* commit '9767d7c092c890ecc5953452e8a951fd902dd67b':
  oggenc: Flush after writing headers

Conflicts:
	tests/ref/lavf/ogg

Merged-by: Michael Niedermayer <michaelni@gmx.at>
avformat/oggenc: fix EOS flag

This corrects the bug that caused the checksums to change in
9767d7c092c890ecc5953452e8a951fd902dd67b

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Timecode: Support 48fps

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/utils: Fix segfault on m4a cover artwork parsing

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
ffmpeg: add -devices param

FFmpeg mix devices and file formats when -formats option is used.
This commit adds a -devices param to list devices only.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
flacdec: do not overwrite a channel layout set by the caller

The channel layout mask for non-standard layouts is typically stored at
the container level (as a vorbiscomment tag) for FLAC.
flac demuxer: parse the WAVEFORMATEXTENSIBLE_CHANNEL_MASK tag

It is used to store the channel mask for non-standard layouts.
flac muxer: write WAVEFORMATEXTENSIBLE_CHANNEL_MASK tag for multichannel files
flac: make avpriv_flac_parse_block_header() inline

This avoids all the ABI troubles associated with avpriv_.
Since this function is very small and does not depend on any tables,
making it inline should have no adverse effects.
matroskadec: split parsing tracks into a separate function
matroskadec: export just the STREAMINFO block as FLAC extradata

It contains all information that is used by the decoder and the other
FLAC-capable demuxers (flacdec, ogg) export only STREAMINFO as well.
matroskadec: parse the channel layout mask for FLAC

It is commonly stored in a vorbiscomment block in codec private data.
vorbiscomment: simplify API by using av_dict_count()
matroskaenc: write the channel mask for FLAC
Merge commit 'f13ffb6636fdecb5e3e0ddcff48f096e7b3db362'

* commit 'f13ffb6636fdecb5e3e0ddcff48f096e7b3db362':
  flacdec: do not overwrite a channel layout set by the caller

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit 'd6b9ce99ea384fb676561461768b8316725a4ccd'

* commit 'd6b9ce99ea384fb676561461768b8316725a4ccd':
  flac demuxer: parse the WAVEFORMATEXTENSIBLE_CHANNEL_MASK tag

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit '54ed488b1af583df6c9d2a73b4a44f16b7e4f82c'

* commit '54ed488b1af583df6c9d2a73b4a44f16b7e4f82c':
  flac muxer: write WAVEFORMATEXTENSIBLE_CHANNEL_MASK tag for multichannel files

Conflicts:
	libavformat/flacenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit '5fdaf312c5541b77b6364db8b49d6abb416a25c0'

* commit '5fdaf312c5541b77b6364db8b49d6abb416a25c0':
  flac: make avpriv_flac_parse_block_header() inline

Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit '6df478bf891b9fc5626e4a0b993899f310ba0a1c'

* commit '6df478bf891b9fc5626e4a0b993899f310ba0a1c':
  matroskadec: split parsing tracks into a separate function

Conflicts:
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>