1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00
Commit Graph

17136 Commits

Author SHA1 Message Date
Michael Niedermayer
967afad03b Merge commit 'c83dd2d2a458075a58895c384372f57c1ec26276'
* commit 'c83dd2d2a458075a58895c384372f57c1ec26276':
  rtpenc_mpegts: Free the right ->pb in the error path in the init function

Reviewed-by: Andreas Cadhalpun <andreas.cadhalpun@googlemail.com>
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-10 11:08:53 +01:00
Martin Storsjö
448c8cfe4c movenc: Support setting fragment_index before the moov atom is written
This way, the caller doesn't need to coordinate setting the option
after the moov atom has been written. The downside is that it is
no longer possible to use the option for checking whether the moov
atom already has been written, but a caller is able to keep track
of that by other means anyway.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-10 10:41:06 +02:00
Martin Storsjö
0c5e380c2c movenc: Don't rely on the fragment index for vc1 info gathering
The previous use of the mov->fragments field, for determining whether
written packets were part of the first fragment or not, didn't
work as intended when using the empty_moov flag.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-10 10:41:03 +02:00
Martin Storsjö
cf402d6fa8 rtpenc_mpegts: Set chain->rtp_ctx only after avformat_write_header succeeded
By making sure we at each time only have one pointer set, either a
local variable or one in the context, we avoid potential double frees
in the cleanup routines. If chain->rtp_ctx is set, it is closed by
calling avformat_write_trailer, but that shouldn't be called unless
avformat_write_header succeeded.

This issue was pointed out by Andreas Cadhalpun.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-10 09:58:41 +02:00
Martin Storsjö
c83dd2d2a4 rtpenc_mpegts: Free the right ->pb in the error path in the init function
This fixes a typo from 8e32b1f096.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-10 09:58:37 +02:00
Mark Reid
399e31419a libavformat/mxfenc: write package name metadata
Previous-version-reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-10 01:00:38 +01:00
Andreas Cadhalpun
2c8cff2be4 asfenc: fix leaking asf->index_ptr on error
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 21:58:38 +01:00
Michael Niedermayer
e71dce5769 avformat/siff: Fix checks and variable types
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 21:05:29 +01:00
Michael Niedermayer
8f92c0898d Merge commit 'ad94c6ca0b86c463f476b26606259a2041dcddc9'
* commit 'ad94c6ca0b86c463f476b26606259a2041dcddc9':
  siff: Use the correct type for packet size variables

Conflicts:
	libavformat/siff.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 21:00:33 +01:00
Michael Niedermayer
2e8020c66c Merge commit '9f25a109922da43c1f81273a431d3b40cb5a785a'
* commit '9f25a109922da43c1f81273a431d3b40cb5a785a':
  matroskaenc: Also validate chapter end time

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 20:31:22 +01:00
Michael Niedermayer
d898482ae3 Merge commit 'bfeb83a8b7d3fcf09a54d8dbc9c521e10bb17530'
* commit 'bfeb83a8b7d3fcf09a54d8dbc9c521e10bb17530':
  rtpdec_hevc: Drop extra sanity check for size of input packet

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 20:00:11 +01:00
Andreas Cadhalpun
6b8263b03a ffmdec: limit the backward seek to the last resync position
If resyncing leads to the same position as previously, it will again
lead to a resync attempt, resulting in an infinite loop.

Thus don't seek back beyond the last syncpoint.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 15:19:34 +01:00
Vittorio Giovara
ad94c6ca0b siff: Use the correct type for packet size variables
The avio functions used here return an unsigned value.
Also reduce a variable scope.

CC: libav-stable@libav.org
Bug-Id: CID 1258461
2015-03-09 12:58:17 +00:00
Vittorio Giovara
9f25a10992 matroskaenc: Also validate chapter end time
This prevents it to be written as unsigned. Also add an error message.

CC: libav-stable@libav.org
Bug-Id: CID 1265717
2015-03-09 12:57:19 +00:00
Vittorio Giovara
bfeb83a8b7 rtpdec_hevc: Drop extra sanity check for size of input packet
In this case len is always at least 3, since it is checked against
RTP_HEVC_PAYLOAD_HEADER_SIZE + 1 before entering the switch block.

Bug-Id: CID 1238784
2015-03-09 12:57:01 +00:00
Andreas Cadhalpun
4c91d81be2 ffmdec: make sure the time base is valid
A negative time base can trigger assertions.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 13:40:20 +01:00
Michael Niedermayer
ba0198a767 Merge commit '46d4d8575979a24a8d026d9805039b724e0e3e5f'
* commit '46d4d8575979a24a8d026d9805039b724e0e3e5f':
  movenc: Avoid writing separate flags for the first sample if not necessary

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 11:27:29 +01:00
Michael Niedermayer
e8821e74bb Merge commit '00d751d4fc20ec88d2cc2c9f39ec8b9e9c8cdeba'
* commit '00d751d4fc20ec88d2cc2c9f39ec8b9e9c8cdeba':
  movenc: Set tfhd default sample flags based on actual samples, if possible

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 11:15:12 +01:00
Martin Storsjö
46d4d85759 movenc: Avoid writing separate flags for the first sample if not necessary
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-09 10:36:12 +02:00
Martin Storsjö
00d751d4fc movenc: Set tfhd default sample flags based on actual samples, if possible
This avoids assuming that e.g. audio samples are marked as
sync samples.

This allows omitting the sample flags from trun, if the default
flags happen to be right for all the samples.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-09 10:36:02 +02:00
Andreas Cadhalpun
6fa98822eb ffmdec: fix infinite loop at EOF
If EOF is reached, while skipping bytes, avio_tell(pb) won't change
anymore, resulting in an infinite loop.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 03:14:16 +01:00
Andreas Cadhalpun
66879ee125 ffmdec: initialize f_cprv, f_stvi and f_stau
They are used in a switch statement, but it is not guaranteed that the
COMM case (where they are set to 0) is reached before the other cases.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-09 02:19:03 +01:00
Michael Niedermayer
fd503e96ef Merge commit '6448f15af02f2c3cf0df8cb8237957e426041f2d'
* commit '6448f15af02f2c3cf0df8cb8237957e426041f2d':
  mxfdec: Fix the error handling for when strftime fails

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-08 19:59:30 +01:00
Martin Storsjö
6448f15af0 mxfdec: Fix the error handling for when strftime fails
The str variable is a char ** here.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-08 18:40:43 +02:00
Carl Eugen Hoyos
0f9f7969ef rmdec: Improve message for demux error
Use correct context, reduce log level, don't assume it is a video stream,
and print the tag of the unknown stream.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-03-08 02:35:04 +00:00
Andreas Cadhalpun
482c86f231 fix spelling errors
opttimizations -> optimizations
 grabing        -> grabbing
 many resource  -> many resources
 isnt           -> isn't
 silcense       -> silence

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 21:35:00 +01:00
Michael Niedermayer
1468ff49df Merge commit '9731cf4001377fa2f75c279072cc2b0cbd57bf8e'
* commit '9731cf4001377fa2f75c279072cc2b0cbd57bf8e':
  movenc: Keep writing zero-entry stts atoms as intended

Conflicts:
	libavformat/movenc.c

See: 95165f7c1b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-06 20:57:11 +01:00
Martin Storsjö
9731cf4001 movenc: Keep writing zero-entry stts atoms as intended
a876585215 had the unintended side effect of returning AVERROR(ENOMEM)
when track->entry is zero, while the code intentionally wants to
continue in that case.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-06 16:17:48 +02:00
Timo Rothenpieler
5aef535a64 dashenc: Update extradata for mov muxer
The mov muxer already supports picking up extradata that wasn't
present during the avformat_write_header call - we just need to
propagate it. Since the dash muxer uses delay_moov, we have time
up until the first segment is written to get extradata filled in.

Also update the codec description string when the extradata becomes
available.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-06 10:07:17 +02:00
Timo Rothenpieler
6cf7f30655 dashenc: Simplify code by using a local variable
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-06 10:07:11 +02:00
selsta
6c8a158989 hls: detect SAMPLE-AES encryption
SAMPLE-AES encryption is not commonly used yet, but without this patch
ffmpeg is thinking that the hls segments are not encrypted which
produces broken files.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 23:08:38 +01:00
Michael Niedermayer
be07270bca Merge commit 'bb4edddd9389cc1601db618ed3c1375b62628d04'
* commit 'bb4edddd9389cc1601db618ed3c1375b62628d04':
  rmenc: limit packet size

Conflicts:
	libavformat/rmenc.c

See: 08728f400b
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 20:24:58 +01:00
Michael Niedermayer
8c013a9e55 avformat/avidec: Check avio_read() return before using the results for meta-data
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 19:38:20 +01:00
Michael Niedermayer
8a048fe6f8 avformat/avidec: initialize header array
Fixes use of uninitialized memory in case read fails

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 18:41:03 +01:00
Andreas Cadhalpun
c73c3c34fe avformat/adxdec: set avctx->channels in adx_read_header
It is used in adx_read_packet, which currently depends on the
decoder/parser setting this value between reading the file header and
demuxing the first packet.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-05 15:57:48 +01:00
Andreas Cadhalpun
bb4edddd93 rmenc: limit packet size
The chunk size is limited to UINT16_MAX (written by avio_wb16), so make
sure that the packet size is not too large.

Such large frames need to be split into slices smaller than 64 kB, but
that is currently supported neither by the rv10/rv20 encoders nor the rm
muxer.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-03-05 15:51:05 +01:00
Kevin Wheatley
45555a20c6 avformat/movenc: Add support for writing 'gama' atom to QuickTime .mov files.
As this is depricated it should not be on by default, it is only
supported for MOV containers, depends on avpriv_get_gamma_from_trc()

Enable by:

-movflags +write_gama

This will use the color_trc to supply a gamma value, if desired an
explicit value may be supplied using the -mov_gamma option supplying
a suitable floating point value, values <=1e-6 will not be written.

Signed-off-by: Kevin Wheatley <kevin.j.wheatley@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 12:26:37 +01:00
Vilius Grigaliūnas
2af260e3a8 avformat/mxfdec: Detect XYZ pixel format for digital cinema files
While the native jpeg2000 decoder can determine pixel format correctly
from the codestream, libopenjpeg wrapper cannot. To make sure that
the output is correct when using libopenjpeg to decode digital
cinema files, we do detection from the metadata included in the MXF
wrapper.

If the container has "JPEG 2000 Coding Parameters" metadata element
with Rsiz value set to one of digital cinema profiles, we can safely
assume that the given input file is DCI compliant, therefore the
pixel format should be XYZ.

Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 11:47:11 +01:00
Timo Rothenpieler
f5668e614b avformat/dashenc: Update extradata for mov muxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 10:33:03 +01:00
Michael Niedermayer
63ea3a86b7 Merge commit '9c09fbd8053292267cdc4b542913ceced43ea3a9'
* commit '9c09fbd8053292267cdc4b542913ceced43ea3a9':
  rtpdec: experimental VP9 depacketizer (draft 0)

Conflicts:
	libavformat/rtpdec.c
	libavformat/rtpdec_vp9.c
	libavformat/version.h

See: e4a6486c17
See: f966ac2b6e
See: 629a03a912
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 10:12:53 +01:00
Thomas Volkert
9c09fbd805 rtpdec: experimental VP9 depacketizer (draft 0)
The code was tested with live555 server.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-05 10:05:44 +02:00
Michael Niedermayer
4574f11e4d Merge commit 'b72b212a4c43563f1b9fc3ce9a5ff91f89b857ac'
* commit 'b72b212a4c43563f1b9fc3ce9a5ff91f89b857ac':
  rdt: Use a separate variable to clarify the different value namespaces

Conflicts:
	libavformat/rdt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 01:40:03 +01:00
Michael Niedermayer
2eb890aab2 Merge commit 'c13ab42a0a3979b2c292b2315487f5f5e14ba26b'
* commit 'c13ab42a0a3979b2c292b2315487f5f5e14ba26b':
  rtpdec_qt: Use a local variable instead of RTP_FLAG_KEY

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 01:20:25 +01:00
Michael Niedermayer
9575d8a652 Merge commit '15621cbbe4ed88409ef40257afaf239487964e98'
* commit '15621cbbe4ed88409ef40257afaf239487964e98':
  rtpdec_asf: Don't set RTP_FLAG_KEY

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 01:12:19 +01:00
Reimar Döffinger
7c2e35d1d0 avformat/avformat: improve the text about headerless formats in avformat_flush()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 00:09:26 +01:00
wm4
cca44764b9 avformat: add avformat_flush()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-05 00:09:26 +01:00
Carl Eugen Hoyos
63c9b6e431 lavf/mxf: Support ProRes decoding.
Fixes ticket #4349.
2015-03-04 23:48:41 +01:00
Martin Storsjö
b72b212a4c rdt: Use a separate variable to clarify the different value namespaces
The original flags variable contains rtpdec flags, while the
rmflags variable contains RM flag bits which have a completely
different definition.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-05 00:26:42 +02:00
Martin Storsjö
c13ab42a0a rtpdec_qt: Use a local variable instead of RTP_FLAG_KEY
The only case where RTP_FLAG_KEY actually is needed is
in RDT, where such a flag needs to be passed via the
rtpdec parse function's flags parameter.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-05 00:26:42 +02:00
Martin Storsjö
15621cbbe4 rtpdec_asf: Don't set RTP_FLAG_KEY
Nothing in the framework nor in the rest of the depacketizer actually
uses this flag - the chained demuxer sets the keyframe flag properly on
demuxed packets already.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-05 00:26:24 +02:00
Michael Niedermayer
4ad7b8f64a avformat/movenc: mark write_colr as experimental
This way the flag can be flipped to a nowrite_colr, if people prefer that

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 22:36:23 +01:00
Michael Niedermayer
735ab7c5e0 Merge commit 'e767c9e8f2eaa116b61b8b6881b401b54bd320f5'
* commit 'e767c9e8f2eaa116b61b8b6881b401b54bd320f5':
  flv: Validate and reject unsupported codecs

Conflicts:
	libavformat/flvenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 20:47:14 +01:00
Michael Niedermayer
87db7e7772 Merge commit '25f613f8be3b51e4396b93cda131e4631ba54302'
* commit '25f613f8be3b51e4396b93cda131e4631ba54302':
  dca: Move syncword definitions to a separate header

Conflicts:
	libavcodec/dca_parser.c
	libavformat/dtsdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 19:28:53 +01:00
Michael Niedermayer
634ce8ddad Merge commit '1dc19729e92a96620000e09eba8e58cb458c9486'
* commit '1dc19729e92a96620000e09eba8e58cb458c9486':
  rtpdec_asf: Don't free the payload context in the .close function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 19:14:48 +01:00
Luca Barbato
e767c9e8f2 flv: Validate and reject unsupported codecs
And provide a more informative message in case of failure.

CC: libav-stable@libav.org
2015-03-04 18:28:40 +01:00
Diego Biurrun
25f613f8be dca: Move syncword definitions to a separate header 2015-03-04 13:29:33 +01:00
Mark Reid
ec5a4af560 libavformat/mxfdec: refactor reading strong ref array
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 12:14:19 +01:00
Martin Storsjö
1dc19729e9 rtpdec_asf: Don't free the payload context in the .close function
This was missed in bb4a310bb. This fixes a double free on close.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-04 13:12:09 +02:00
Michael Niedermayer
5dce723715 Merge commit '2a66a580678dd9401f4d95e01e0958ca51864b6f'
* commit '2a66a580678dd9401f4d95e01e0958ca51864b6f':
  rtpdec_mpa_robust: Fix incrementing split_pos

Conflicts:
	libavformat/rtpdec_mpa_robust.c

See: ebf1f512e9
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 11:31:55 +01:00
Martin Storsjö
2a66a58067 rtpdec_mpa_robust: Fix incrementing split_pos
This fixes an oversight in 96084251, in a refactoring done on top
of Gilles' original patch.

Pointed out by Gilles Chanteperdrix.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-04 09:34:14 +02:00
Tobias Rapp
b4fbad2634 libavformat/avienc: Fix duration of audio segment in OpenDML master index
Fixes the duration field of the OpenDML master index "indx" chunk to
contain the number of samples instead of the number of packets for
(linear/PCM) audio streams.

This matches the OpenDML V1.02 standard text which states that the
duration field shall contain "time span in stream ticks".

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-04 00:08:53 +01:00
Michael Niedermayer
0dd53e14f9 Merge commit '0af3b65880573aa9b3375362eaab4f84140c7dde'
* commit '0af3b65880573aa9b3375362eaab4f84140c7dde':
  asf: do not export XMP metadata by default

Conflicts:
	libavformat/asfdec.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-03 21:16:31 +01:00
Mark Reid
81a91269a2 libavformat/avio: added avio_put_str16be
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-03 17:49:15 +01:00
Vittorio Giovara
0af3b65880 asf: do not export XMP metadata by default
Similarly to what has been done for MOV, display XMP metadata only when
users explicitly require it.

The Extensible Metadata Platform tag can contain various kind of data
which are not strictly related to the video file, such as history of
edits and saves from the project file.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-03-03 15:30:52 +00:00
Robert Krüger
618021ea58 avformat/mxfenc: adjust product name when opatom muxer is used
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-03 12:13:21 +01:00
Timo Rothenpieler
6cfd536675 avformat/dashenc: Update codec_str on extradata_size change
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 21:40:26 +01:00
Timo Rothenpieler
b86af8da31 avformat/dashenc: Use local variable instead of duplicated dereferences
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 21:40:26 +01:00
Michael Niedermayer
cb39fe9336 Merge commit '91eee2af87278b3c2008f7a86d2cdfe6934e9f42'
* commit '91eee2af87278b3c2008f7a86d2cdfe6934e9f42':
  Revert "mov: Change DTS-based seek into CTS-based seek."

Conflicts:
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 20:52:34 +01:00
Michael Niedermayer
82fe4072ea Revert "avformat/mov: Bypass av_add_index_entry()"
Next commit will revert the PTS seeking so this is not needed anymore

This reverts commit 38e641a060.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 20:46:17 +01:00
Martin Storsjö
33d412eb4a dashenc: Simplify code by using a local variable
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-02 20:34:43 +02:00
Andreas Cadhalpun
08728f400b avformat/rm: limit packet size
The chunk size is limited to 0xFFFF (written by avio_wb16), so make
sure that the packet size is not too large.

Such large frames need to be split into slices smaller than 64 kB, but
that is currently supported neither by the rv10/rv20 encoders nor the rm
muxer.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>

See Ticket244

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 16:57:57 +01:00
Martin Storsjö
91eee2af87 Revert "mov: Change DTS-based seek into CTS-based seek."
This reverts commit 4abfa387b8.

This commit broke playback of fragmented mp4 files with b-frames.
While investigating this, it turned out that the general framework
isn't ready for a PTS-based index yet. Revert this change until
a better thought out solution is in place.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-02 14:15:12 +02:00
Gilles Chanteperdrix
ebf1f512e9 avformat/rtpdec_mpa_robust: fix commit 96084251e5
Commit 96084251e5 introduced a change in
the parser implementation which broke it. Restore the original
implementation.

Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-02 11:58:42 +01:00
Michael Niedermayer
e72f8ceabd avformat/mpegenc: Ignore max_delay if no other options remain
Fixes assertion failure
Fixes Ticket4335

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 16:47:36 +01:00
Gilles Chanteperdrix
071f3e1c6e Revert "rtsp: Interpret the text media type as AVMEDIA_TYPE_DATA"
This reverts commit 26524e3581.

If we want the T.140 codec to have the AV_CODEC_ID_TEXT codec id,
its type needs to be AVMEDIA_TYPE_SUBTITLE, so, keep interpreting
the text media type as AVMEDIA_TYPE_SUBTITLE.

Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 03:40:20 +01:00
Gilles Chanteperdrix
c95c039ec3 avformat: map T.140 RTP codec to text
This makes more sense than mapping to AV_CODEC_ID_SUBRIP. Nothing
indicates that a T.140 track contains subrip sub-titles.

Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 03:40:10 +01:00
Michael Niedermayer
5cb6b53050 Merge commit '4f6cd883f06f7893a2b60a41e7a4f8ae633dac2f'
* commit '4f6cd883f06f7893a2b60a41e7a4f8ae633dac2f':
  rtpenc: Don't set max_frames_per_packet based on the packet frame size or frame rate

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:31:49 +01:00
Michael Niedermayer
78c59f3f0c Merge commit 'bde2bba45c2f2df27a8534028bda09a6e7f835e2'
* commit 'bde2bba45c2f2df27a8534028bda09a6e7f835e2':
  rtpenc: Restructure if statements in packetizers to simplify adding more conditions

Conflicts:
	libavformat/rtpenc_xiph.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:31:26 +01:00
Michael Niedermayer
769b473a41 Merge commit 'd4c7fc02f9f59e721e76debf4a595df529707545'
* commit 'd4c7fc02f9f59e721e76debf4a595df529707545':
  rtpenc: Skip redundant initialization

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:24:27 +01:00
Michael Niedermayer
a2c4c30b5f Merge commit 'f8c01257f93ceda3e03bc4e540a51022d1e2bff2'
* commit 'f8c01257f93ceda3e03bc4e540a51022d1e2bff2':
  rtpenc: Always do the default initialization regardless of codecs

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:23:37 +01:00
Michael Niedermayer
9e09931fb6 Merge commit '11edeaea3293c41ecf577a330422eabba35f76a2'
* commit '11edeaea3293c41ecf577a330422eabba35f76a2':
  rtpenc_xiph: Don't exclude headers from max_payload_size

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:17:27 +01:00
Michael Niedermayer
7e53009588 Merge commit '7c1e2e64667421f931ab48141517f19d309c7eea'
* commit '7c1e2e64667421f931ab48141517f19d309c7eea':
  rtpenc_xiph: Use AV_WB16 instead of manual bitshifts

Conflicts:
	libavformat/rtpenc_xiph.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:17:10 +01:00
Michael Niedermayer
41b8d154aa Merge commit 'd16c8d28d4e2fca3af1054ffbf635c8cee755fc8'
* commit 'd16c8d28d4e2fca3af1054ffbf635c8cee755fc8':
  rtpenc_aac: Use AV_WB16 instead of manual bitshifts

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:08:07 +01:00
Michael Niedermayer
635403e078 Merge commit '9c9b0218e85fcd969308632f75af48a4ce229541'
* commit '9c9b0218e85fcd969308632f75af48a4ce229541':
  rtpenc_aac: Merge a definition with a declaration

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:07:46 +01:00
Michael Niedermayer
cfe33c98b7 Merge commit '1fc64e2e07787bbca82a72c146588e850e6d098a'
* commit '1fc64e2e07787bbca82a72c146588e850e6d098a':
  rtpenc: Write conditional statements on separate lines

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:01:01 +01:00
Michael Niedermayer
ba069e08bd Merge commit '0662440b991361fdb5e732712d997a73e4692e34'
* commit '0662440b991361fdb5e732712d997a73e4692e34':
  rtpenc_aac: Set a default value for max_frames_per_packet at init

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 01:00:44 +01:00
Michael Niedermayer
6f0a82966d Merge commit '12b3459979f5ea6481660cd2c99a0381e2b5ba37'
* commit '12b3459979f5ea6481660cd2c99a0381e2b5ba37':
  rtpenc_amr: Use s->num_frames instead of s->buf_ptr - s->buf

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 00:48:28 +01:00
Michael Niedermayer
f6f1e1a7a1 Merge commit '98563953442560dd83aab938f86de3e5a22a891f'
* commit '98563953442560dd83aab938f86de3e5a22a891f':
  rtpenc_aac: Fix sending fragmented frames

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-01 00:48:04 +01:00
Michael Niedermayer
ca6fee7606 Merge commit 'b9d2d6843a49f9df1d1ae1afe817d9b48c445919'
* commit 'b9d2d6843a49f9df1d1ae1afe817d9b48c445919':
  tls: Pass AVOptions dictionaries through to the chained protocol

Conflicts:
	libavformat/tls.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 23:32:33 +01:00
Michael Niedermayer
c5c4e5839a Merge commit 'e14f98c62fdf8744b07419314095d1b3248cce75'
* commit 'e14f98c62fdf8744b07419314095d1b3248cce75':
  tcp: Clarify the units for the timeout avoptions

Conflicts:
	libavformat/tcp.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 23:20:39 +01:00
Michael Niedermayer
1fb3642317 Merge commit 'c86d8aed748adc3ba8df96fb1fe14aa45da77a31'
* commit 'c86d8aed748adc3ba8df96fb1fe14aa45da77a31':
  avio: Rename avclass symbols relating to avio

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 23:02:42 +01:00
Andreas Cadhalpun
e8565d21c2 avformat/flvenc: check that the codec_tag fits in the available bits
flags is later written with avio_w8 and if it doesn't fit in one byte it
triggers an av_assert2.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-28 22:53:12 +01:00
Martin Storsjö
4f6cd883f0 rtpenc: Don't set max_frames_per_packet based on the packet frame size or frame rate
Instead check the timestamps while muxing, to avoid buffering a
too long timestamp range into one single packet.

This makes the AMR and AAC packetization slightly less efficient,
since we set a possibly unnecessarily high max_frames_per_packet.
(These packetizers end up doing a memmove of the TOC bytes if
sending a packet before max_frames_per_packet is achieved, and
we end up setting max_frames_per_packet to a value that should
be high enough for most uses.)

All packetizers that use max_frames_per_packet now set it either
to a default value, or to a value calculated based on other
parameters, so none of them rely on the previous default setting.

For iLBC, copy one frame at a time, to allow checking the timestamp
range for each of them - basically doing potentially multiple
loops to simplify the code instead of trying to calculate the
number of frames to buffer while honoring s1->max_delay.

This is in preparation for reducing the coupling between libavformat
and libavcodec, by not having the muxers use the encoder field
frame_size (which may not be available during e.g. stream copy).

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:54:31 +02:00
Martin Storsjö
bde2bba45c rtpenc: Restructure if statements in packetizers to simplify adding more conditions
Factorize out the s->num_frames check at the start of the if statements,
simplifying adding more alternative causes for sending the buffered
frames.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:54:26 +02:00
Martin Storsjö
d4c7fc02f9 rtpenc: Skip redundant initialization
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:54:22 +02:00
Martin Storsjö
f8c01257f9 rtpenc: Always do the default initialization regardless of codecs
This avoids having to jump to the defaultcase in the switch. Manually
override the stream time base back to 90 kHz for the few audio codecs
that don't use the sample rate as time base (mp2, mp3).

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:54:11 +02:00
Martin Storsjö
11edeaea32 rtpenc_xiph: Don't exclude headers from max_payload_size
This makes things more consistent by using the variable in the same
way as in all other packetizers.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:54:04 +02:00
Martin Storsjö
7c1e2e6466 rtpenc_xiph: Use AV_WB16 instead of manual bitshifts
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:54:00 +02:00
Martin Storsjö
d16c8d28d4 rtpenc_aac: Use AV_WB16 instead of manual bitshifts
This makes the code slightly more readable and understandable.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:53:57 +02:00
Martin Storsjö
9c9b0218e8 rtpenc_aac: Merge a definition with a declaration
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-28 22:53:54 +02:00