libavformat: Allow calling av_write_trailer with a NULL AVIOContext

Signed-off-by: Martin Storsjö <martin@martin.st>
mpegts: Support running the write_trailer function without an AVIOContext

If opening and closing dynamic buffers as AVIOContext, we may
not have any AVIOContext available when wanting to close and
deallocate the muxer. Allow calling write_trailer despite this.

Signed-off-by: Martin Storsjö <martin@martin.st>
rtpenc_mpegts: Call write_trailer for the mpegts muxer even if no output buffer exists

Since the mpegts muxer now can handle being called with a NULL
AVIOContext, we don't need to try to allocate one before calling
write_trailer.

Signed-off-by: Martin Storsjö <martin@martin.st>
libavformat: Only use MoveFileExA when targeting the desktop API subset

The MoveFileExA is available in the headers regardless which API
subset is targeted, but it is missing in the Windows Phone link
libraries. When targeting Windows Store apps, the function is
available both in the headers and in the link libraries, and thus
there is no indication for the build system that this function
should be avoided - such an indication is only given by the
Windows App Certification Kit, which forbids using the MoveFileExA
function.

Therefore check the WINAPI_FAMILY defines instead, to figure out
which API subset is targeted.

Signed-off-by: Martin Storsjö <martin@martin.st>
avformat/wavdec: make start_code string larger

av_get_codec_tag_string() uses more that 1 char for unprintable characters.
avformat/apngdec: make tag_buf string larger

av_get_codec_tag_string() uses more that 1 char for unprintable characters.
avformat/rsd: make tag_buf string larger

av_get_codec_tag_string() uses more that 1 char for unprintable characters.
Merge commit '4895aa65c6ddec2e33ec3c023f221b1bafcbaf9f'

* commit '4895aa65c6ddec2e33ec3c023f221b1bafcbaf9f':
  libavformat: Allow calling av_write_trailer with a NULL AVIOContext

Conflicts:
	libavformat/mux.c

See: 277f20c3c877a74aca9d480480024a6d66c9fbc4
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Merge commit 'e2ce16392205d8efe9143329ed3fb5fcb15498fa'

* commit 'e2ce16392205d8efe9143329ed3fb5fcb15498fa':
  mpegts: Support running the write_trailer function without an AVIOContext

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

* commit 'fc308b30bb24e623fed042ec78b10803b2362a18':
  rtpenc_mpegts: Call write_trailer for the mpegts muxer even if no output buffer exists

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

* commit '8ebf02f8f530240edf7e45f35f7647ef9dd44a58':
  libavformat: Only use MoveFileExA when targeting the desktop API subset

Conflicts:
	configure

Merged-by: Michael Niedermayer <michaelni@gmx.at>
avformat/asfenc: replace != 0 error check by <0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
avformat/westwood_aud: replace != 0 error check by <0

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