* commit '378a6315b7c48195ffd94e6aa9aa6d663d42b35e':
segment: Add an option for disabling writing of a header/trailer to each segment
Conflicts:
libavformat/segment.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'eb447d515956b3ce182d9750083131735f00324c':
segment: Free and reinit the muxer before calling avformat_write_header
Conflicts:
libavformat/segment.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '73871dc96ff78053b9dcd0eb259b7f5a5308ec87':
segment: Use the public av_write_header/av_write_trailer functions
Conflicts:
libavformat/segment.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* commit '0edae4e6286096023cdd6adea74722fa06029867':
segment: Properly create new AVStreams for the chained muxer
segment: Add a missing space
Conflicts:
libavformat/segment.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Some HLS servers return 403 when the Range header is present. Disabling http
seekability probing prevents the header from being added.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Add an tri-state (seek, non seek, automatic detection) option to HTTP to control seekability (default: automatic).
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* commit 'ab35ec29a4071871934856c00da7d6ebcc0c095b':
vf_overlay: get rid of pointless messing with timebase.
samplefmt: make av_samples_alloc() initialize the data to silence.
libspeexdec: handle NULL return value from speex_packet_to_header()
h264probe: Don't error out on bits that no longer are reserved
mpegvideo: set extended_data in ff_update_duplicate_context()
libspeexdec: properly handle DTX for multiple frames-per-packet
libspeexdec: move the SpeexHeader from LibSpeexContext to where it is used
libspeexdec: simplify setting of frame_size
libspeexdec: set channel_layout
Conflicts:
libavfilter/vf_overlay.c
libavformat/h264dec.c
libavutil/version.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Some segmented formats (such as fragmented mp4) are "bare", as in,
the segment files do not have the same headers/trailers as full normal
files of that format have.
Signed-off-by: Martin Storsjö <martin@martin.st>
This makes sure the muxers are set up in the way they expect
with no data left around from the previous run (which could
cause various issues including memory leaks, depending on the chaine
muxer).
This fixes memory leaks with the mpegts and flv muxers. It also
makes the usage of chained muxers correct.
Signed-off-by: Martin Storsjö <martin@martin.st>
With this change, the segmenter muxer doesn't rely on anything
not available/supported to libavformat external users, making
the segmenter muxer do things just like a normal segmenter
application using libavformat would do.
Signed-off-by: Martin Storsjö <martin@martin.st>
Before, the chained muxer reused the AVStreams array from
the outer muxer, which made it impossible to use the proper
public functions (such as av_write_frame) when calling the
chained muxer.
Signed-off-by: Martin Storsjö <martin@martin.st>
The timebases before where only guranteed to be 1/fps precisse
and could cause AV sync errors on low fps
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
otherwise a unexpected timebase could be choosen
that is one that is thousand times more precisse than requested
which can have sideeffects.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
The new fields are only printed when they differ from their defaults
this way only few fate refs change
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
ARM: use numeric ID for Tag_ABI_align_preserved
segment: Pass the interrupt callback on to the chained AVFormatContext, too
ARM: bswap: drop armcc version of av_bswap16()
ARM: set Tag_ABI_align_preserved in all asm files
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This might not be needed at the moment, but it's good practice to
pass it to all chained AVFormatContexts, if it would happen to be
used there at a later point.
Signed-off-by: Martin Storsjö <martin@martin.st>
* qatar/master:
ARM: fix Thumb PIC on Apple
nut: add do {} while (0) to GET_V
tiffenc: Check av_malloc() results.
tiffenc: Simplify pixel format setup using AVPixFmtDescriptor.
Use atexit() instead of defining a custom exit_program() interface.
msvc: Fix detection of VFW & Avisynth required libs
Conflicts:
ffmpeg.c
ffmpeg_opt.c
ffplay.c
ffprobe.c
ffserver.c
libavcodec/tiffenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
While a 25 fps stream can in general store frame durations in 1/25
units, this is not true for the timestamps. For example a 25fps
and a 25000/1001 fps stream when they are stored together might have
a matching 0 timestamp point but when for example a chapter from
this is cut the new start is no longer aligned. The issue gets
MUCH worse when the streams are lower fps, like 1 or 2 fps.
This commit thus makes the muxer choose a multiple of the
framerate as timebase that is at least about 20 micro seconds precise
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
With this, when we use a finer timebase than neccessary to store
durations the demuxer still knows what the original timebase was.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
It is not correct in all cases and it is less predictable than a skip of 0
for user applications.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* qatar/master:
libopus: Remap channels using libopus' internal remapping.
Opus decoder using libopus
avcodec: document the use of AVCodecContext.delay for audio decoding
vc1dec: add flush function for WMV9 and VC-1 decoders
http: Increase buffer sizes to cope with longer URIs
nutenc: const correctness for ff_put_v_trace/put_s_trace function arguments
h264_refs: Fix debug tprintf argument types
golomb: const correctness for get_ue()/get_se() function arguments
get_bits: const correctness for get_bits_trace()/get_xbits_trace() arguments
Conflicts:
Changelog
libavcodec/Makefile
libavcodec/version.h
libavformat/http.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>