Commit Graph

6905 Commits

Author SHA1 Message Date
Reimar Döffinger
14d735bd4f matroskadec: add generic element length validation.
This validate the length of a mkv element directly after reading
it.
This has the advantage that it is easy to add new limits and makes
it less likely to forget to add checks and also avoids issues like
bits of the length value above the first 32 being ignored because
the parsing functions only takes an int.
Previously discussed in the "mkv 0-byte integer parsing" thread.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 95ec3d4cac)
2011-02-09 03:31:17 +01:00
Ronald S. Bultje
cb9f7fd34c Fix compile warning.
Change int64_t into a int, which caused this compiler warning:
libavformat/oggparseskeleton.c:64: warning: passing argument 2 of ‘av_reduce’ from incompatible pointer type
(cherry picked from commit 69ff149204)
2011-02-09 03:31:17 +01:00
Anton Khirnov
f8d33a3617 avidec: simplify read_gab2_sub
Use avio functions instead of bytestream ones (also drops dependency on
lavc and removes a bunch of warnings).
Drop custom version of avio_get_str16 and use that instead.

Tested on mewmew-ssa.avi sample.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 47fdf00a77)
2011-02-09 03:31:17 +01:00
Anton Khirnov
f81946729e lavf: move internal functions from avformat.h to internal.h
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 19711af5cd)
2011-02-09 03:31:17 +01:00
Reimar Döffinger
2f35beae4d Make av_set_pts_info keep previous time base if new one is invalid.
Fixes issue 2475.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit b3190529df)
2011-02-09 03:31:17 +01:00
Sascha Sommer
e11afd71a3 pass QDMC extradata to the decoder
Makes playing QDMC files in MPlayer work when using the libavformat demuxer.
Problem was that the extradata was not passed from demuxer to decoder.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit ed19fafd48)
2011-02-09 03:30:01 +01:00
Ronald S. Bultje
340a20ea65 Update MINOR and set git rev for non-blocking flag API addition.
(cherry picked from commit efdd67cb00)
2011-02-06 20:31:47 +01:00
Anton Khirnov
fbdcdaee6e Replace remaining occurrences of deprecated CH_* with AV_CH_*
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit c2fcd0a7a4)
2011-02-06 20:31:47 +01:00
Nicolas George
6e59474b30 Non-blocking protocol: TCP
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit ad3cffb68f)
2011-02-06 20:31:46 +01:00
Nicolas George
3ce3b49824 Non-blocking protocol: core wrapper functions
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 90441276e4)
2011-02-06 20:31:46 +01:00
Nicolas George
f4bd5800ac Non-blocking protocols: flag and documentation
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit fe174fc8fc)
2011-02-06 20:31:46 +01:00
Anton Khirnov
4a3556542d mp3enc: write ISO8859-1 instead of UTF-16 when possible
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 5a6de4e7e8)
2011-02-06 20:31:46 +01:00
Peter Ross
9979dcd40e reindent after last commit
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 74571e333c)
2011-02-06 20:31:46 +01:00
Peter Ross
699d55fb12 wtv: do not use flag in stream_guid chunk to determine if stream is valid, as this method is unreliable
This fixes roundup issue 2556.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit e4f85b8499)
2011-02-06 20:31:45 +01:00
Martin Storsjö
105ba7dc28 applehttp: Handle absolute paths relative to the current server
This fixes roundup issue 2583.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 185a155e57)
2011-02-06 20:31:45 +01:00
Martin Storsjö
861aab5677 movenchint: Use rtpenc_chain for setting up the chained RTP muxer
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 5306bf41a6)
2011-02-06 20:31:45 +01:00
Martin Storsjö
118f09114c rtpenc_chain: Don't copy the time_base back to the caller
If required, the caller can do this itself. ff_write_chained rescales
timestamps as necessary, and all current callers of rtpenc_chain
use ff_write_chained, making this timebase copy unnecessary.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 397ffde115)
2011-02-06 20:31:45 +01:00
Martin Storsjö
42f97696ae Use avformat_free_context for cleaning up muxers
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit b22dbb291d)
2011-02-06 20:31:45 +01:00
Martin Storsjö
4ed68fdfdc libavformat: Add a function for freeing an AVFormatContext
This function is useful for freeing data structures allocated by
muxers, which currently have to be freed manually by the caller.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit f124b087ee)
2011-02-06 20:31:44 +01:00
Martin Storsjö
173f19be75 libavformat: Use avcodec_copy_context for chained muxers
This avoids having the chained AVStream->codec point to the same
AVCodecContext owned by the outer AVStream. The downside is that
changes to the AVCodecContext made after calling av_write_header
cannot be detected automatically within the chained muxer.

This avoids having to manually unlink the chained AVStream->codec
by setting it to null before freeing the chained muxer via generic
freeing functions.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 1338dc0823)
2011-02-06 20:31:44 +01:00
Clément Bœsch
bffad70c66 Remove forgotten if (p) av_free(p) forms
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 290849e2a4)
2011-02-06 20:31:44 +01:00
Peter Ross
2d9fd1810b add ff_index_search_timestamp and ff_add_index_entry
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit e6fb5a4f78)
2011-02-06 20:31:42 +01:00
Nicolas George
566f17b62d TCP: factor the poll() call
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 51b317d2e9)
2011-02-06 20:31:42 +01:00
Peter Ross
d3c0de863d wtv: filesystem implementation
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit f61dee2fe4)
2011-02-06 20:31:41 +01:00
Reimar Döffinger
5603df39df Always use av_set_pts_info to set the stream time base. 2011-02-05 09:55:53 +01:00
Anton Khirnov
d947bce1fc tty.c: rename PKT_FLAG_KEY to AV_PKT_FLAG_KEY.
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit a9d921cbad)
2011-02-04 03:10:12 +01:00
Anton Khirnov
4d9c044d47 Replace remaining occurrences of CODEC_TYPE_* with AVMEDIA_TYPE*
Tested to compile with lavc major bump.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit b2ed95ec48)
2011-02-04 03:10:12 +01:00
Martin Storsjö
a991b8dec6 sapenc: Free AVStream->info on cleanup
This fixes yet another memory leak, present since SVN rev 25418.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 1f56f5ed6d)
2011-02-04 03:10:12 +01:00
Anton Khirnov
ea46876301 rtmpproto: rename URLContext* argument in rtmp_write()
Now the first argument is URLContext *h. However, the function logs to
LOG_CONTEXT, which is #defined as 's' for new lavf major versions.

Therefore, rename h -> s.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 9ad4c65f6f)
2011-02-04 03:10:12 +01:00
Tomas Härdin
b9dab1131c Add ProRes FOURCCs to isom.c
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit e65b1934bf)
2011-02-04 03:10:11 +01:00
Benjamin Larsson
d25d1d06a4 Add AVC-Intra identifiers used by Flip4Mac for mov files
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit aa42cce57d)
2011-02-04 03:10:10 +01:00
Clément Bœsch
e31a744155 Remove a few if (p) av_free(p) forms
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 437fb1c87d)
2011-02-04 03:10:10 +01:00
Martin Storsjö
d0d8a9b138 Free AVStream->info in chained muxers
This fixes memory leaks in the RTSP muxer and RTP hinting in the
mov muxer present since SVN rev 25418.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit ce41c51b0c)
2011-02-04 03:10:10 +01:00
Martin Storsjö
c6347bdf08 rtsp: Don't store RTSPStream in AVStream->priv_data
For mpegts in RTP, there isn't a direct mapping between RTSPStreams
and AVStreams, and the RTSPStream isn't ever stored in
AVStream->priv_data, which was earlier leaked. The fix for this
leak, in ea7f080749, lead to
double frees for other, normal RTP streams.

This patch avoids storing RTSPStreams in AVStream->priv_data, thus
avoiding the double free. The RTSPStreams are always available via
RTSPState->rtsp_streams anyway.

Tested with MS-RTSP, RealRTSP, DSS and mpegts/RTP.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit d9c0510e22)
2011-02-04 03:10:10 +01:00
Anton Khirnov
e921bd57e3 Add forgotten minor API bumps and APIChanges entries
The bumps are for adding version.h and avio_{get/put}_str functions in
lavf and making av_dlog public in lavu.

Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-02-04 03:09:57 +01:00
Luca Barbato
2aaa2a1700 Free the RTSPStreams in ff_rtsp_close_streams
This plugs a small memory leak

Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit ea7f080749)
2011-02-02 03:40:50 +01:00
Reimar Döffinger
403fa3cf07 Ogg: discard non-essential metadata from Vorbis header when creating extradata
The first part of the metadata, the "vendor" string, is required by
libvorbis, it will refuse to play when it is not available.
Also we do not currently parse that part into metadata so it would also
be lost if we removed it as well.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 8cb3c557a9)
2011-02-02 03:40:48 +01:00
Reimar Döffinger
b482c00121 Remove pts rescaling code that is useless after 2ff4a2764e 2011-01-31 19:31:04 +01:00
Reimar Döffinger
12763671e2 Document that av_write_header sets stream time_base to a value of it chosing. 2011-01-31 19:30:49 +01:00
Mans Rullgard
2c30f7b3d7 mpegtsenc: fix PMT PID calculation
445996aa51 caused the PMT PID to be
off by one.  This corrects it.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 740ad0d14d)
2011-01-31 18:25:48 +01:00
Georgi Chorbadzhiyski
a735bbbb7a Replace defines in libavformat/mpegtsenc.c with AVOptions
Around 01/28/11 18:56, Ronald S. Bultje scribbled:
> That patch is now merged, can you submit the update to muxers.texi?
> Then we'll apply the whole thing.

See attached. I hope the documentation is enough.

--
Georgi Chorbadzhiyski
http://georgi.unixsol.org/

From c236024b8254f5c2c45934c30fff390cb0e55a5e Mon Sep 17 00:00:00 2001
From: Georgi Chorbadzhiyski <gf@unixsol.org>
Date: Tue, 25 Jan 2011 13:09:17 +0200
Subject: [PATCH] mpegts: Replace defines in with AVOptions

This patch adds support for setting transport_stream_id,
original_network_id, service_id, pmt_start_pid and start_pid
in mpegts muxer.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 445996aa51)
2011-01-31 18:25:47 +01:00
Reimar Döffinger
2ff4a2764e VC1testenc: convert pts values to correct time-base.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 22e9277aa5)
2011-01-31 18:25:47 +01:00
Ronald S. Bultje
939bfc87ee asf/wtv: use service_provider and service_name metadata tags
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 4543009943)
2011-01-31 18:25:47 +01:00
Vasyl' Vavrychuk
e5e3897b64 mpegts: remove get_pts duplicate of ff_parse_pes_pts.
Signed-off-by: Vasyl' Vavrychuk <vvavrychuk@gmail.com>
Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 665132e620)
2011-01-31 18:25:44 +01:00
Luca Barbato
9ef5a9deaf Replace dprintf with av_dlog
dprintf clashes with POSIX.1-2008
(cherry picked from commit dfd2a005eb)
2011-01-30 03:41:48 +01:00
Peter Ross
59884f55d1 mpegtsenc: support CODEC_ID_AAC_LATM
$subject. Have used this for loopback testing with mpegts.c.

-- Peter
(A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B)
[2. text/x-diff; 0001-mpegtsenc-support-CODEC_ID_AAC_LATM.patch]

From 0f7f9db4b7da1793996af6dda84298507703759a Mon Sep 17 00:00:00 2001
From: Peter Ross <pross@xvid.org>
Date: Sun, 9 Jan 2011 09:45:50 +1100
Subject: [PATCH] mpegtsenc: support CODEC_ID_AAC_LATM

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 4d54df8e07)
2011-01-30 03:41:00 +01:00
Dave Yeo
c053bba9e2 rtspenc: include os_support.h for system without HAVE_POLL_H
fix compile on OS/2

Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit a0788cc627)
2011-01-30 03:41:00 +01:00
Anton Khirnov
8270482681 asfdec: ensure that the whole tag is read.
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit 042950542d)
2011-01-30 03:41:00 +01:00
Mans Rullgard
13904b552b os_support: make poll() fallbacks conditional on CONFIG_NETWORK
poll() is only used by networking code, so the fallback should
only be built if networking is enabled.  Also remove CONFIG_FFSERVER
condition from the declarations.

This should fix building on systems without poll(), broken
by a8475bbdb6.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 362d8f7d9e)
2011-01-30 03:41:00 +01:00
Stefano Sabatini
b5a7100ad3 Make the image2 demuxer log more verbose
Add an error message in case the user requests to write more than one file
and the path does not contain a "%d" or "%0Nd" pattern.

Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit 4fc9ff0ad6)
2011-01-30 03:41:00 +01:00