Commit Graph

8132 Commits

Author SHA1 Message Date
Justin Ruggles e9cda85351 avcodec: add duration field to AVCodecParserContext
This will allow parsers to export the duration of the current frame being
output, if known, instead of using AVCodecContext.frame_size.
2012-02-20 15:08:40 -05:00
Martin Storsjö a4f97be1a9 hls: Reset the AVIOContext when seeking
This avoids reading any old data in the AVIOContext buffer after
the seek, and indicates to the mpegts demuxer that we've seeked,
avoiding continuity check errors.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-20 11:10:02 +02:00
Panagiotis H.M. Issaris 2b3d041cdc applehttp: Do seeking within segments, too
Enhance seeking by demuxing until the requested timestamp is
reached within the segment selected by the seek code using the
playlist info.

Some mpegts streams don't have dts set for all packets though,
this seeking method doesn't work well for that case.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-19 23:03:42 +02:00
Luca Barbato 6b8b0fe2bc doxy: remove reference to removed api 2012-02-19 19:10:28 +01:00
Luca Barbato aac63cef20 examples: unbreak compilation
Update api so it will compile again.
2012-02-19 19:10:28 +01:00
Martin Storsjö 5be805d38c mov: Use defines for sample flags in fragments
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-18 21:13:36 +02:00
Martin Storsjö 3eec23f3cd mov: Use defines for trun flags
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-18 21:13:35 +02:00
Martin Storsjö 73328f24fa mov: Use defines for tfhd flags
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-18 21:13:33 +02:00
Ronald S. Bultje 41afac7f7a asf: prevent packet_size_left from going negative if hdrlen > pktlen.
This prevents failed assertions further down in the packet processing
where we require non-negative values for packet_size_left.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-18 09:12:32 -08:00
Martin Storsjö c7e8639c70 rtpdec: Identify incorrectly signalled H263
H263 in RTP can be packetized in two formats (RFC 2190, RFC
2429/4629). The former normally uses the static payload type 34,
while the latter normally uses dynamic payload types with the
SDP format names H263-1998 or H263-2000.

Look for packets that don't look like proper RFC 2190 packets and
switch to depacketizing them according to the new format if they
match some heuristic criteria.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-18 17:31:55 +02:00
Ronald S. Bultje 32a659c758 aiff: don't skip block_align==0 check on COMM-after-SSND files.
This prevents SIGFPEs when using block_align for divisions.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-17 15:59:03 -08:00
Martin Storsjö 5302633919 movenc: Write the unknown duration as 64 bit fields in ismv
This is required for the files to play back properly in
windows media player.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-18 00:03:32 +02:00
Martin Storsjö 99a357f4c5 movenc: Write track durations with all bits set if duration is unknown
According to 14496-12, the duration should be all 1s if
the duration is unknown. This is the case if writing a moov
atom without any samples described in it (e.g. as in ismv files).

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-18 00:03:30 +02:00
Aneesh Dogra d7840529b6 avcodec: add a Sun Rasterfile encoder
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-17 14:28:56 -05:00
Paul B Mahol 6d10c5bfc0 cdxl: fix audio for some samples
There may be extra padding at and of chunk.

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-17 14:19:35 -05:00
Paul B Mahol f02edc4c06 apetag: add proper support for binary tags
export as attachment streams

Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-17 14:16:11 -05:00
Martin Storsjö 51df7b232f movenc: Don't set a default sample duration when creating ismv
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-16 17:49:07 +01:00
Martin Storsjö 298a587f44 rtp: Factorize the check for distinguishing RTCP packets from RTP
The binary doesn't change after this patch.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-16 17:45:33 +01:00
Justin Ruggles c9fdf3241a bethsoftvid: synchronize video timestamps with audio sample rate
According to unofficial documentation, the video rate is locked to the audio
sample rate. This results in proper synchronization of audio and video
timestamps from the demuxer. This only works if the first audio packet occurs
before the first video packet or the audio sample rate is the default rate of
11111 Hz, both of which are true for all samples in our archive.
2012-02-16 10:47:11 -05:00
Justin Ruggles 773ff823da bethsoftvid: add audio stream only after getting the first audio packet
This avoids initializing a stream with dummy values or when the file does not
contain audio.
Also set duration for audio packets, using the sample rate as the time base.
2012-02-16 10:47:11 -05:00
Justin Ruggles 9546f331c6 bethsoftvid: Set video packet duration instead of accumulating pts. 2012-02-16 10:47:11 -05:00
Justin Ruggles 05e4ae833c bethsoftvid: set packet key frame flag for audio and I-frame video packets.
Fixes avconv video stream copy of bethsoft video, which was skipping all
video frames unless the copyinkf option was used.
2012-02-16 10:47:11 -05:00
Justin Ruggles 17b115591f bethsoftvid: fix read_packet() return codes.
Use proper AVERROR codes, and return 0 for no error.
2012-02-16 10:47:11 -05:00
Justin Ruggles f320fb894c bethsoftvid: pass palette in side data instead of in a separate packet.
Update FATE reference to account for now non-existent palette packet.
This also fixes the FATE test if frame data is not initialized in
get_buffer(), so update comment in avconv accordingly.
2012-02-16 10:47:11 -05:00
Martin Storsjö f3a094f2da sdp: Ignore RTCP packets when autodetecting RTP streams
The rtp demuxer which listens for RTP packets and detects the
RTP payload type will currently get confused if the first packet
received is an RTCP packet. Thus ignore such packets.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-16 16:14:35 +01:00
Martin Storsjö 167f3b8de7 libavformat: Add an ff_ prefix to some lavf internal symbols
Prefix the functions/tables brktimegm, pcm_read_seek,
dv_offset_reset, voc_get_packet, codec_movaudio_tags,
codec_movvideo_tags.

After this, lavf has no global symbols without the proper prefix.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:17 +02:00
Martin Storsjö 735be9cdfb rtsp: Make rtsp_demuxer_class static
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-15 22:06:07 +02:00
Paul B Mahol dc4e57489f CDXL demuxer and decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-14 22:32:53 +01:00
Alex Converse c1df37e59b hls: Re-add legacy applehttp name to preserve interface compatibility. 2012-02-14 12:13:46 -08:00
Martin Storsjö 8c62d83fe5 hlsproto: Rename the functions and context
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-14 20:05:32 +02:00
Martin Storsjö 9cb9c6c42d hlsproto: Encourage users to try the hls demuxer instead of the proto
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-14 20:05:32 +02:00
Martin Storsjö 8bdab32f4e libavformat: Rename the applehttp protocol to hls
Keep the old protocol name around for backwards compatibility
until the next bump.

Deprecate the method of implicitly assuming the nested protocol.
For applehttp://server/path, it might have felt logical, but
supporting hls://server/path isn't quite as intuitive. Therefore
only support hls+http://server/path from now on.

Using this protocol at all is discouraged, since the hls demuxer
is more complete and fits into the architecture better. There
have been cases where the protocol implementation worked better
than the demuxer, but this should no longer be the case.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-14 20:05:32 +02:00
Martin Storsjö 65cd7bf32f hls: Rename the functions and context
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-14 20:05:32 +02:00
Martin Storsjö 2772258a98 libavformat: Rename the applehttp demuxer to hls
When this demuxer was created, there didn't seem to be any
consensus of a common short name for this protocol. Now
the consensus seems to be to call it hls.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-14 20:05:31 +02:00
Martin Storsjö 08bddfcde5 rtpdec: Support H263 in RFC 2190 format
This is different from the "modern" RTP payload formats for H263
as defined by RFC 4629, 2429 and 3555. According to the newer RFCs,
this old one is to be considered deprecated and only be used for
interoperating with legacy systems.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-14 20:05:31 +02:00
Martin Storsjö 4ace130ee6 movenc: Support muxing VC1
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-14 16:12:18 +02:00
Diego Biurrun c3b57d6e76 librtmp: Add "lib" prefix to librtmp URLProtocol declarations.
This allows easily differentiating between both implementations within the build
system and combining the native implementation for plain RTMP with librtmp for
the RTMPE, RTMPS, RTMPT, RTMPTE protocol variants.
2012-02-14 11:37:01 +01:00
Martin Storsjö df6050188c movenc: Use defines instead of hardcoded numbers for RTCP types
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-14 12:23:07 +02:00
Paul B Mahol 1c77a5307f smjpegdec: implement seeking
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-14 10:12:44 +01:00
Matthew Szatmary 7dfe8f5557 rtpdec: Use 4 byte startcodes for H.264
If muxing into mpegts, 4 byte startcodes for the first NAL
of an access unit is required. Thus it is simplest for the
RTP depacketizer to just use 4 byte startcodes everywhere.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-13 23:05:10 +02:00
Diego Biurrun 529506b5f6 matroskadec: Mark variable as av_unused.
This avoids unused variable warnings when zlib/bzlib are not available.
2012-02-13 19:20:54 +01:00
Diego Biurrun 6df5c528ca Move some conditionally used variables into the block where they are used.
This allows dropping the av_unused argument from them.
2012-02-13 19:20:54 +01:00
Diego Biurrun 7331b6e718 Drop some completely unnecessary av_unused attributes. 2012-02-13 19:20:53 +01:00
Martin Storsjö 5d561514b7 movenc: Support muxing wmapro in ismv/isma
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-13 19:57:28 +02:00
Martin Storsjö ddf422803b mpegtsenc: Add an AVOption for forcing a new PAT/PMT/SDT to be written
When segmenting the output from the mpegts muxer, one can
now set this option when cutting to a new segment, to make sure
the next segment starts with PAT/PMT/SDT.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-13 17:31:05 +02:00
Diego Biurrun d1c4ec7f5e build: Set correct dependencies for rtmp* protocols implemented by librtmp. 2012-02-13 09:59:51 +01:00
Andrey Utkin e3cc617263 lavf: fix aspect ratio mismatch message.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-02-12 17:18:24 +01:00
Joakim Plate af701d42c3 cafdec: Check return value of avio_seek and avoid modifying state if it fails
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-10 15:27:50 -05:00
Joakim Plate b69c2e0e6d yop: Check return value of avio_seek and avoid modifying state if it fails
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-10 15:27:50 -05:00
Joakim Plate e54165aa39 tta: Check return value of avio_seek and avoid modifying state if it fails
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-10 15:27:49 -05:00