| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
|
|
|
|
|
| |
All encoders set pts and dts properly now (and have been doing that for
a while), so there is no good reason to do any timestamp guessing in the
muxer.
The newly added AVStreamInternal will be later used for storing all the
private fields currently living in AVStream.
|
|
|
|
| |
It will be needed in other functions.
|
|
|
|
| |
The reasoning for setting it to zero only applies to demuxing.
|
|
|
|
|
| |
Make it return an error and check its return value when it is used.
Simplify the usage by calling `av_packet_ref` internally when needed.
|
|
|
|
|
|
|
| |
`av_packet_unref` matches the AVFrame ref-counted API and can be used as
a drop in replacement.
Deprecate `av_free_packet`.
|
|
|
|
| |
And drop the av_dup_packet from the input_thread.
|
|
|
|
|
|
|
|
|
| |
Note that convergence_duration had another meaning, one which was in
practice never used. The only real use for it was a 64 bit replacement
for the duration field. It's better just to make duration 64 bits, and
to get rid of it.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
|
|
|
|
| |
Deprecated in 10/2012.
|
|
|
|
| |
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
|
|
|
|
|
|
| |
Express bitfields more simply.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
|
|
|
|
|
|
| |
warning: assigning to
'char *' from 'const char *' discards qualifiers
[-Wincompatible-pointer-types-discards-qualifiers]
|
|
|
|
| |
This applies to every library where performance is not critical.
|
|
|
|
|
|
| |
And use it in libavformat.
Based on a similar patch by Stefano Sabatini <stefasab@gmail.com>.
|
|
|
|
|
|
|
| |
This is not an API change; the fields were explicitly declared private
before.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
| |
|
|
|
|
|
| |
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
|
|
|
|
|
| |
Work as the other free()-like functions.
Bug-Id: CID 1087081
CC: libav-stable@libav.org
|
| |
|
|
|
|
|
|
|
|
|
| |
In these cases, only drop dts. Because if we drop both we have no
timestamps at all for some files.
This improves playback of HLS streams from GoPro cameras.
Signed-off-by: Martin Storsjö <martin@martin.st>
|
|
|
|
|
|
|
|
| |
When AVFMT_FLAG_NOBUFFER is set, the packets are not added to the
AVFormatContext packet list, so they need to be freed when they are
no longer needed.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
|
|
|
|
| |
It allows to configure how long will avformat_find_stream_info() wait
to get the first timestamp.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is basically a wrapper around av_get_audio_frame_duration(), with a
fallback to AVCodecContext.frame_size. However, that field is set only
when the stream codec context is actually used for encoding or decoding,
which is discouraged.
For muxing, it is generally the responsibility of the caller to set the
packet duration.
For demuxing, if the duration is not stored at the container level, it
should be set by the parser.
Therefore, removing the frame_size fallback should not break any
important case.
|
|
|
|
|
|
|
| |
If any option named "metadata" is set inside the context, it is pulled up to
the context and then the option is cleared.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, AVStream.codec.time_base was used for that purpose, which
was quite confusing for the callers. This change also opens the path for
removing AVStream.codec.
The change in the lavf-mkv test is due to the native timebase (1/1000)
being used instead of the default one (1/90000), so the packets are now
sent to the crc muxer in the same order in which they are demuxed
(previously some of them got reordered because of inexact timestamp
conversion).
|
| |
|
| |
|
| |
|
|
|
|
|
| |
If framerate estimation is enabled, it makes sense to always apply it,
instead of limiting it to a few specific cases.
|
|
|
|
|
| |
The parser has no way of knowing video duration, and therefore no video
parsers set it.
|
| |
|
| |
|
|
|
|
| |
Those streams should never get any packets by definition.
|
|
|
|
|
| |
Due to what looks like an off-by-one error 60 * 12 * 1001 / 12 * 1001
is not tested as standard frame rate in avformat_find_stream_info().
|
| |
|
|
|
|
| |
Also adjust some comment wording / spelling and reorder header #includes.
|
|
|
|
|
|
|
| |
Always use the actually read size as the offset instead of making
possibly invalid assumptions.
Addresses: CVE-2012-6618
|
|
|
|
| |
It's shorter and more consistent with the rest of the code.
|
| |
|
|
|
|
| |
AVStream.codec is always non-NULL
|
|
|
|
| |
avcodec_decode_*() resets the frame itself.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Generate extradata with SPS/PPS based on container dimensions.
Authors of this commit are: Reimar and Thomas Mundt
Signed-off-by: Anton Khirnov <anton@khirnov.net>
|
| |
|