| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Signed-off-by: Kostya Shishkov <[email protected]>
|
| |
|
|
|
|
| |
They have no code in common.
|
| |
|
| |
|
|
|
|
| |
The most recent demuxing/seeking code does not need them.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This uses the old demuxing code for OP1a and separate demuxing code for OPAtom.
Timestamp output is added to the old demuxing code.
The seeking code is made to seek to the start of the desired EditUnit only,
from which the normal demuxing code takes over (if OP1a). This means we
do not use delta entries or slices, only StreamOffsets. OPAtom seeking
basically works like before.
This also makes D-10 seeking behave the same way as OP1a and OPAtom. In other
words, we allow seeking before the start or past the end for D-10 too.
Based on several patches by Tomas Härdin <[email protected]> and
Reimar Döffinger <[email protected]>.
Changed av_calloc to av_mallocz, added overflow checks.
|
|
|
|
| |
Signed-off-by: Janne Grunau <[email protected]>
|
|
|
|
|
|
|
|
|
| |
It is a really bad idea to assign a video codec id
when we have set codec_type to audio and vice versa.
Prevents detection of mp2 in mxf as mpeg2video.
Signed-off-by: Janne Grunau <[email protected]>
|
|
|
|
|
|
| |
This replaces the old essence_offset code.
Signed-off-by: Janne Grunau <[email protected]>
|
|
|
|
| |
Signed-off-by: Janne Grunau <[email protected]>
|
|
|
|
|
|
| |
This is not an error and expected behavior for OPAtom files.
Signed-off-by: Janne Grunau <[email protected]>
|
|
|
|
|
|
| |
This also zeroes new entries for good measure (used by future patches).
Signed-off-by: Janne Grunau <[email protected]>
|
|
|
|
| |
Signed-off-by: Janne Grunau <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Specifically, this means parsing as before until we run into essence.
At that point we seek to the footer and parse until EOF. After that we start
seeking backward to the previous partition and parse that until we run into
essence or the next partition. This procedure is repeated until we encounter
the last partition we parsed in the forward direction.
The end result of all this is that large essence containers are not needlessly
parsed. This speeds up parsing large files a lot.
Signed-off-by: Janne Grunau <[email protected]>
|
|
|
|
|
|
|
|
|
| |
source track.
This fixes 0001GL.MXF.V1.mxf_opatom.mxf and 0001GL00.MXF.A1.mxf_opatom.mxf
getting two streams each due to both using the same SourcePackageID.
Signed-off-by: Janne Grunau <[email protected]>
|
|
|
|
| |
Signed-off-by: Janne Grunau <[email protected]>
|
|
|
|
|
|
| |
present.
Signed-off-by: Janne Grunau <[email protected]>
|
|
|
|
|
|
|
| |
Based on patch from Tomas Härdin <[email protected]>
and work by Georg Lippitsch <[email protected]>
Changed av_calloc to av_mallocz and added overflow checks.
|
|
|
|
| |
Signed-off-by: Janne Grunau <[email protected]>
|
|
|
|
|
|
| |
Avoid modifying state if avio_seek fails.
Signed-off-by: Janne Grunau <[email protected]>
|
|
|
|
|
|
|
|
| |
This fixes reading of partition packs. The code stops reading after the
operational pattern and should skip the array of essence container
labels that follow.
Signed-off-by: Janne Grunau <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This avoids (for all practical cases) the issue of reusing
the same UDP port as for an earlier connection. If the remote
doesn't know the previous session was closed, he might keep
on sending packets to that port. If we always start off trying
to open the same UDP port, we might get those packets intermixed
with the new ones.
This is occasionally an issue when testing RTSP stuff with
DSS, perhaps also with other servers.
Signed-off-by: Martin Storsjö <[email protected]>
|
|
|
|
| |
Signed-off-by: Martin Storsjö <[email protected]>
|
|
|
|
|
|
|
|
| |
This check isn't relevant in the way the code currently works.
Also change a case of if (x == 0) into if (!x).
Signed-off-by: Martin Storsjö <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The s->ssrc field is the sender's SSRC, we use ssrc + 1 to get
a collision free "unique" SSRC for ourselves in the RR part.
The SDES block in the RTCP packet should describe ourselves,
not the sender.
This was fixed for the RR part in 952139a3226b, but wasn't
fixed for the SDES part until now.
This could cause some Axis cameras to send RTCP BYE packets
to us due to the SSRC collision.
Signed-off-by: Martin Storsjö <[email protected]>
|
|
|
|
| |
Signed-off-by: Anton Khirnov <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Originally, sizeof(struct MOVIentry) was 48, after the reordering,
it is 40 in my build configuration.
When writing really long mov/mp4 files, this can make a difference
- this saves a bit over 2 MB of memory per hour of video (down to
10.3 MB per hour from 12.3 MB per hour initially) for a video with
75 packets per second - 25 fps + 50 audio packets (which is the
case for AMR audio).
Signed-off-by: Martin Storsjö <[email protected]>
|
|
|
|
| |
Signed-off-by: Martin Storsjö <[email protected]>
|
|
|
|
|
|
|
| |
It also optionally can throttle its operation to a particular
speed, to simulate realtime writing.
Signed-off-by: Martin Storsjö <[email protected]>
|
|
|
|
|
|
|
| |
The H.264 decoder needs SPS and PPS for initialization during
multi-threaded decoding. When probed single-threaded SPS and PPS are
copied to extradata and are available for proper initialization of
the decoder before the first frame is decoded.
|
|
|
|
| |
Signed-off-by: Anton Khirnov <[email protected]>
|
|
|
|
| |
Fixes a memleak.
|
|
|
|
| |
Specify that lavf is responsible for freeing the data.
|
| |
|
|
|
|
| |
Signed-off-by: Kostya Shishkov <[email protected]>
|
|
|
|
|
|
| |
This is a preparation for adding SMJPEG muxer.
Signed-off-by: Kostya Shishkov <[email protected]>
|
|
|
|
| |
Signed-off-by: Diego Biurrun <[email protected]>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This isn't used in practice anywhere within libav at the moment,
but change it for consistency until it is removed.
URL_RDONLY/WRONLY were fixed in commit 5b81e295931 (after the
values that actually were used were changed at the major bump,
in commit cbea3ac8), but this flag was unintentionally left unfixed.
Signed-off-by: Martin Storsjö <[email protected]>
|
| |
|
|
|
|
| |
The "new seeking API" was never finished and nobody is working on it.
|
|
|
|
| |
They are deprecated and will be purged on next major bump.
|
|
|
|
|
| |
Since packets all contain only a single block, the generic seek function can
be used while still maintaining block-accuracy.
|
|
|
|
|
| |
fixes stream copy of raw gsm to mov.
tested with QuickTime.
|
| |
|
|
|
|
| |
frame sample count calculation was incorrect
|
|
|
|
|
| |
The duration of the first packet was being calculated incorrectly, leading to
an incorrect timestamp offset.
|
|
|
|
|
|
|
|
|
| |
If the creation time is stored in the file as a zero, the
mov demuxer skips exporting the creation time. Currently,
files muxed without a creation time get demuxed with a
Jan 1st 1970 creation timestamp.
Signed-off-by: Martin Storsjö <[email protected]>
|