pre-parsing the file in read_header.
This avoids some code duplication and seeking, and also avoids an IO error
for small video-only files (as created during e.g. the FATE encoder test).
Originally committed as revision 17945 to svn://svn.ffmpeg.org/ffmpeg/trunk
and if the size is broken (20 bytes, header-only), calculate the expected
size and skip the index entries anyway. See "[PATCH] rmdec.c: correctly
skip indexes" thread.
Originally committed as revision 17924 to svn://svn.ffmpeg.org/ffmpeg/trunk
has two possible outcomes: either len and rm->remaining_len are the same, in
which case we care about the outcome and it is zero, or rm->remaining_len is
currently not in use and we don't care about the outcome. In that case, len
is positive and rm->remaining_len is zero, which leads to a negative result.
This is confusing and could eventually lead to a sign-flip if we skip a lot
of packets (unlikely, but still). Therefore, just always set it to zero.
Originally committed as revision 17919 to svn://svn.ffmpeg.org/ffmpeg/trunk
has two possible outcomes: either len and rm->remaining_len are the same, in
which case we care about the outcome and it is zero, or rm->remaining_len is
currently not in use and we don't care about the outcome. In that case, len
is positive and rm->remaining_len is zero, which leads to a negative result.
This is confusing and could eventually lead to a sign-flip if we skip a lot
of packets (unlikely, but still). Therefore, just always set it to zero.
Originally committed as revision 17910 to svn://svn.ffmpeg.org/ffmpeg/trunk
ff_rm_parse_packet(). See "[PATCH] Make RM demuxer behave better with -an
option" thread, which sort-of turned into an aggregate of unrelated rmdec.c
cleanups.
Originally committed as revision 17909 to svn://svn.ffmpeg.org/ffmpeg/trunk
rm->audio_pkt_cnt in case multiple packets should be read before the next
syncpoint in the file, so that ffplay -an on a file containing AAC audio
works. See "[PATCH] Make RM demuxer behave better with -an option" thread
on mailinglist.
Originally committed as revision 17908 to svn://svn.ffmpeg.org/ffmpeg/trunk
Yes this breaks ABI/API but ive already broken it and will bump avutil major
soon.
Originally committed as revision 17869 to svn://svn.ffmpeg.org/ffmpeg/trunk
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
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
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
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
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
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
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
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
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
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
This reverts r17656, which broke many tests. Further investigation
is necessary.
Originally committed as revision 17658 to svn://svn.ffmpeg.org/ffmpeg/trunk