Commit Graph

4643 Commits

Author SHA1 Message Date
Alex Converse
63581eb183 MOV: fix demuxing fragmented files
Originally committed as revision 17803 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 07:57:09 +00:00
Mike Melanson
e584914acd Fix a condition that causes an infinite loop, but only when compiled with
gcc 4.2.4 on x86_32. Thanks to Vitor for hunting this down.

Originally committed as revision 17802 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 05:40:53 +00:00
Ronald S. Bultje
29b9f58b37 Split rtsp_send_cmd() into two functions, one for the actual sending of the
command and a second, new function to read the reply to this command. This
will make it possible to read server notices that are not in response to a
command in future versions, such as EOS or interrupt notices. See "[PATCH]
rtsp.c: split rtsp_send_cmd() in a send- and a receive-function" thread.

Originally committed as revision 17797 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-04 00:57:37 +00:00
Michael Niedermayer
ded0149948 Replace two 'return AVERROR(EAGAIN);' by continue. The latter are nicer
and the EAGAIN were just added as example not because they made sense.

Originally committed as revision 17783 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 20:24:17 +00:00
Alex Converse
fefe43ff2c MOV: fix crash when 'meta' occurs before first 'trak'
Originally committed as revision 17781 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 18:19:44 +00:00
Ronald S. Bultje
bc8763cda9 Rename "fd1" variable ro "fd". There were previously two variables (fd1 and
fd2) and one was just removed, so naming the other "fd1" is counter-intuitive.
See "[RFC] rtsp.c EOF support" thread.

Originally committed as revision 17780 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 17:06:18 +00:00
Ronald S. Bultje
f0a8039464 Add url_get_file_handle(), which is used to get the file descriptor
associated with the I/O handle (e.g. the fd returned by open()). See
"[RFC] rtsp.c EOF support" thread.

There were previously some URI-specific implementations of the same idea,
e.g. rtp_get_file_handles() and udp_get_file_handle(). All of these are
deprecated by this patch and will be removed at the next major API bump.

Originally committed as revision 17779 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 17:04:51 +00:00
Ronald S. Bultje
2fea965070 Reindent after r17777.
Originally committed as revision 17778 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 16:53:04 +00:00
Ronald S. Bultje
f830c9a487 Make RTSP-MS-over-UDP negotiation work. See "[PATCH] RTSP-MS 8/15: fix
RTSP-MS UDP" thread on mailinglist.

Basically, UDP setup needs to be done in a particular order (first rtx
on two UDP ports (one for RTP, one for RTCP), then the other streams over
one, single port for all of them together). Not doing this correctly results
in a "461" error (invalid transport) during setup.

Originally committed as revision 17777 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 16:52:35 +00:00
Ronald S. Bultje
090438cc81 Recognize the "application" data type, which is required for WMS/UDP
sessions.

This type is used in RTP/ASF (served by WMS servers), and is required to
make UDP sessions work, but breaks TCP sessions. Therefore, we disable setup
for application streams in TCP/WMS streams.

See discussion in "[PATCH] RTSP-MS 8/15: fix RTSP-MS UDP" thread.

Originally committed as revision 17776 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 16:48:56 +00:00
Benoit Fouet
9aaa2077e5 Add a context to av_log() calls.
Originally committed as revision 17775 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 16:19:37 +00:00
Diego Biurrun
fdf119062e Remove deprecated vhook subsystem.
Originally committed as revision 17769 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 14:09:10 +00:00
Ronald S. Bultje
f989d39752 Remove size_t cast in setting s->priv_data directly to the (integer) file
descriptor returned by open(). This removes some dubious doublecasts such
as priv_data = (void *) (size_t) some_integer, and is always safe on systems
we care about because sizeof(int)<=sizeof(void*). See comments from Mans and
Michael in "[RFC] rtsp.c EOF support" thread.

Originally committed as revision 17768 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 13:57:09 +00:00
Ronald S. Bultje
eafb17d140 Don't let finalize_packet() touch pkt->stream_index. Instead, let individual
payload handlers take care of that themselves at their own option. What this
patch really does is "fix" a bug in MS-RTSP protocol where incoming packets
are always coming in over the connection (UDP) or interleave-id (TCP) of
the stream-id of the first ASF packet in the RTP packet. However, RTP packets
may contain multiple ASF packets (and usually do, from what I can see), and
therefore this leads to playback bugs. The intended stream-id per ASF packet
is given in the respective ASF packet header. The ASF demuxer will correctly
read this and set pkt->stream_index, but since the "stream" parameter can
not be known to rtpdec.c or any of the RTP/RTSP code, the "st" parameter
in all these functions is basically invalid. Therefore, using st->id as
pkt->stream_index leads to various playback bugs. The result of this patch
is that pkt->stream_index is left untouched for RTP/ASF (and possibly for
other payloads that have similar behaviour).

The patch was discussed in the "[PATCH] rtpdec.c: don't overwrite
pkt->stream_index in finalize_packet()" thread on the mailinglist.

Originally committed as revision 17767 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 13:51:34 +00:00
Ronald S. Bultje
95f03cf31f Reindent after r17764.
Originally committed as revision 17765 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 13:42:16 +00:00
Ronald S. Bultje
f3e71942e7 In the current implementation of rtp_parse_packet(), finalize_packet() is
called for all packets with an internal handler function but only for
non-first packets from dynamic payload parse_packet() handlers. This patch
fixes that. Bug was noticed by Luca in "[PATCH] rtpdec.c: don't overwrite
pkt->stream_index in finalize_packet()" thread.

Originally committed as revision 17764 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 13:41:50 +00:00
Ronald S. Bultje
d176f90387 Reduce allocated length of the HTTP authentication request field buffer, as
noticed by Stefano and Luca in the "[PATCH]RTSP Basic Authentication"
mailinglist thread.

av_base64_encode() was recently changed. The previous implementation required
12 extra bytes (ceil(len(src)/3.)*4+12), whereas the new one is guaranteed to
fit in an exact buffer (ceil(len(src)/3.)*4), plus one extra byte for the
trailing zero. This change fixes no bug, it just slightly decreases the
amount of allocated memory.

Originally committed as revision 17761 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 13:26:17 +00:00
Diego Biurrun
c04920978e cosmetics: Fix indentation.
Originally committed as revision 17756 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-03 12:57:07 +00:00
Benoit Fouet
2fddbb68b6 Add context to some av_log() calls.
Originally committed as revision 17729 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-02 09:28:37 +00:00
Diego Biurrun
0ffbc258aa Change a bunch of codec long_names to be more consistent and descriptive.
Originally committed as revision 17716 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-02 05:18:33 +00:00
Aurelien Jacobs
827f7e285b deprecate old metadata API
Originally committed as revision 17690 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-01 16:35:25 +00:00
Aurelien Jacobs
bc718b4720 fix missed usage of old metadata API in mov demuxer
Originally committed as revision 17689 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-01 16:06:26 +00:00
Aurelien Jacobs
012867f05b use new metadata API in libavformat/utils.c
Originally committed as revision 17687 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-01 15:38:06 +00:00
Aurelien Jacobs
feacba6c26 use new metadata API in r3d demuxer
Originally committed as revision 17686 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-01 15:28:56 +00:00
Aurelien Jacobs
ec26457064 new metadata API is now officially part of public API
Originally committed as revision 17682 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-01 14:50:03 +00:00
Aurelien Jacobs
95030323d1 simplify metadata conversion and fixes gcc-2.95 at the same time
Originally committed as revision 17681 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-01 14:29:30 +00:00
Michael Niedermayer
4022fe01a6 Change the timebase of the raw demuxer to one that can represent the ts of fields.
Originally committed as revision 17675 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-01 03:48:35 +00:00
Michael Niedermayer
9e6c124a87 Disable MPEG-1/2 style timestamp calculation for H264. It still randomizes
the timestamps because delay is not known for the first few frames.

Originally committed as revision 17674 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-01 03:17:24 +00:00
Aurelien Jacobs
719e721a14 Add some basic metadata conversion tables for matroska and asf.
Add missing const qualifiers for metadata_conv in AV{In|Out}putFormat.

Originally committed as revision 17671 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-01 00:12:08 +00:00
Aurelien Jacobs
f610a9f284 add a metadata conversion API
Originally committed as revision 17670 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-28 23:34:16 +00:00
Luca Abeni
3aa7ac6dd2 Document ff_rtp_codec_id()
Originally committed as revision 17666 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-28 19:34:50 +00:00
Ivan Schreter
4c6b49bf74 Change TS seeking so it returns position/timestamp of a key frame.
Patch by Ivan Schreter, schreter gmx net

Originally committed as revision 17665 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-28 18:35:53 +00:00
Luca Abeni
d3da8a4565 Fix typo in a comment
Originally committed as revision 17664 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-28 18:23:19 +00:00
Luca Abeni
c3efd98c09 Document ff_rtp_enc_name()
Originally committed as revision 17663 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-28 18:21:43 +00:00
Justin Ruggles
344bcea46d cosmetics: indentation
Originally committed as revision 17662 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-28 17:31:25 +00:00
Luca Abeni
d3a5794958 Document ff_rtp_get_codec_info()
Originally committed as revision 17661 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-28 17:24:56 +00:00
Justin Ruggles
81f052cb7d Separate the raw FLAC demuxer from raw.c and put in a new file,
flacdec.c.

Originally committed as revision 17660 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-28 17:24:46 +00:00
Ronald S. Bultje
2d243fb3fc Rename movenc.c MOVContext to MOVMuxContext, since MOVContext is already used
in mov.c for the demuxer. See "[PATCH] rename movenc.c MOVContext to
MOVMuxContext" thread on the mailinglist.

Originally committed as revision 17659 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-28 16:02:29 +00:00
Måns Rullgård
f166f2f435 Revert "Improve frame rate guessing for streams with two fields per frame."
This reverts r17656, which broke many tests.  Further investigation
is necessary.

Originally committed as revision 17658 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-28 15:15:54 +00:00
Ivan Schreter
5fa61b26f7 Improve frame rate guessing for streams with two fields per frame.
Patch by Ivan Schreter, schreter gmx net

Originally committed as revision 17656 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-28 13:14:46 +00:00
Aurelien Jacobs
73914d56d9 use new metadata API in nut muxer
This is only a straight conversion of current code, so for now, it won't
mux generic metadata. It will only mux Title, Author and Copyright.

Originally committed as revision 17653 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-27 23:12:14 +00:00
Aurelien Jacobs
00798e4563 use new metadata API in nut demuxer
Originally committed as revision 17652 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-27 23:10:34 +00:00
Reimar Döffinger
fe02d9e719 Do not allow standard-frame-rate detection to increase the value of
r_frame_rate by more than 1% over a previously set/detected value.

Originally committed as revision 17641 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-27 14:13:15 +00:00
Reimar Döffinger
03c03afde7 Simplify ipmovie.c pts calculation by using an appropriate time_base.
Originally committed as revision 17639 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-27 10:07:12 +00:00
Benoit Fouet
f3592353ce Add a context to av_log() call.
Originally committed as revision 17638 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-27 08:31:20 +00:00
Reimar Döffinger
3bc5f6f9a6 Hack: #undef printf so compilation works with DEBUG_IPMOVIE set to 1
Originally committed as revision 17632 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-27 08:02:34 +00:00
Reimar Döffinger
8514272472 Detect the case when the time base is exact but far finer than necessary to
represent the time stamps, as e.g. for ipmovie.c and set a better r_frame_rate.

Originally committed as revision 17631 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-27 07:56:24 +00:00
Michael Niedermayer
3797c74ba5 Add ticks_per_frame, this should hopefully fix the regressions caused
by the time_base change.

Originally committed as revision 17630 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 23:47:32 +00:00
Aurelien Jacobs
83569729d4 cosmetics: vertical alignment
Originally committed as revision 17629 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 22:39:53 +00:00
Aurelien Jacobs
b8222b3d9c use new metadata API in rpl demuxer
Originally committed as revision 17628 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 22:38:46 +00:00