the system wants a length entry in all socket structures or not. Patch by
Martin Storsjö <$firstname $firstname st>.
Originally committed as revision 21351 to svn://svn.ffmpeg.org/ffmpeg/trunk
Fixes issue 1658 (the crasher), although the format itself is obviously
still unsupported.
Originally committed as revision 21078 to svn://svn.ffmpeg.org/ffmpeg/trunk
parts of FFmpeg. Also change a starting condition; while (condition) {
... bla = bla->next; } loop into a proper for() loop.
Originally committed as revision 21071 to svn://svn.ffmpeg.org/ffmpeg/trunk
"for (i = 1; i < num + 1; i++)" look like "for (i = 1; i <= num; i++)".
Programmers worldwide rejoiced and used the operand, e.g. in the thread
"[PATCH] remove ugliness in cel_filters.c", and He saw that it was good.
Originally committed as revision 20489 to svn://svn.ffmpeg.org/ffmpeg/trunk
(philip coombes zoneminder com), see "[PATCH]RTSP Basic Authentication"
thread on mailinglist.
Originally committed as revision 19905 to svn://svn.ffmpeg.org/ffmpeg/trunk
used to return packet data, which might update the flags/timestamp to be
used for the next packet data returned by the demuxer. However, that was
separated out into a new function, and the flags/timestamp are thus never
updated within ff_rm_parse_packet() anymore, and thus do not need to be
a pointer.
Originally committed as revision 19539 to svn://svn.ffmpeg.org/ffmpeg/trunk
implement RTCP/bye. See "[PATCH] rtsp.c: EOS support" thread from a few
months back.
Originally committed as revision 19517 to svn://svn.ffmpeg.org/ffmpeg/trunk
discussion in "[PATCH] RTSP-MS 14/15: ASF packet parsing" thread on mailinglist.
Originally committed as revision 19516 to svn://svn.ffmpeg.org/ffmpeg/trunk
AVFormatContext.packet_size. See "[PATCH] asf*.c/h: use
AVFormatContext->packet_size instead of own copy" thread on ML.
Originally committed as revision 19270 to svn://svn.ffmpeg.org/ffmpeg/trunk
value. Currently, this is only used in qcp.c and mpegenc.c, and they are
practically unaffected by this change.
See "[PATCH] make packet_size in AVFormatContext unsigned" thread on ML.
Originally committed as revision 19250 to svn://svn.ffmpeg.org/ffmpeg/trunk
(max packet size should fit in 13 bits as a kB value, so 1<<23, plus the
header which is 10 bytes), and as per mpegenc.c internal assumptions
(min packet size is 20 bytes). See "[PATCH] make packet_size in
AVFormatContext unsigned" thread.
Originally committed as revision 19215 to svn://svn.ffmpeg.org/ffmpeg/trunk
not a stream error. This also fixes an infinite loop on EOS during ASF file
playback, and Michael claims he "likes the patch" (ref: [PATCH] RTSP-MS
15/15: move packet_time_start zero value assignment in asf.c" mailinglist
tread).
Originally committed as revision 18552 to svn://svn.ffmpeg.org/ffmpeg/trunk
thread "[PATCH] RTSP-MS 15/15: move packet_time_start zero value
assignment in asf.c".
Originally committed as revision 18531 to svn://svn.ffmpeg.org/ffmpeg/trunk
Real wants OPTIONS) while the connection is idle, otherwise it will
be aborted after a short period (usually a minute). See the thread
"[PATCH] rtsp.c: keep-alive" on the mailinglist.
Originally committed as revision 18525 to svn://svn.ffmpeg.org/ffmpeg/trunk
qualification task, see "RTP/Vorbis payload implementation (GSoC qual
task)" thread on mailinglist.
Originally committed as revision 18509 to svn://svn.ffmpeg.org/ffmpeg/trunk
buffer size of the fmtp parameter buffer. For Vorbis RT(S)P, these
contain full Vorbis headers, which can be up to 12kb each, formatted
in base64, so 16kb total. Patch required for proper Vorbis/RTP playback,
submitted as GSoC qualification task in the thread "RTP/Vorbis payload
implementation (GSoC qual task)" by Colin McQuillan m.niloc googlemail
com.
Originally committed as revision 18508 to svn://svn.ffmpeg.org/ffmpeg/trunk
Patch (GSoC qualfication task) by Zhentan Feng spyfeng gmail com, see
"[FFmpeg-devel] Add waveformat extensible support in wav muxer (SoC
qualification task)" thread on mailinglist.
Originally committed as revision 18372 to svn://svn.ffmpeg.org/ffmpeg/trunk
See "[FFmpeg-devel] [PATCH] asf fix" thread. Patch contributed by
David DeHaven <dave sagetv com>.
Originally committed as revision 18213 to svn://svn.ffmpeg.org/ffmpeg/trunk
redir_isspace(char) to check if '\0' is a space or not. Therefore, we now
use memchr(), since then we can give the length of the string (i.e. the
length excluding the terminating '\0'). Fixes issue 919, see also the
follow-ups in the "[PATCH] rtsp.c small cleanups" mailinglist thread.
Originally committed as revision 18177 to svn://svn.ffmpeg.org/ffmpeg/trunk
statement (get_word_sep()) already does that all by itself. See summary in
"[PATCH] rtsp.c small cleanups" thread on mailinglist.
Originally committed as revision 18128 to svn://svn.ffmpeg.org/ffmpeg/trunk
same line as the if. See summary in "[PATCH] rtsp.c small cleanups" thread on
mailinglist.
Originally committed as revision 18127 to svn://svn.ffmpeg.org/ffmpeg/trunk
in a stream (e.g. malicious input, broken file, etc.). See summary in "[PATCH]
rtsp.c small cleanups" thread on mailinglist.
Originally committed as revision 18126 to svn://svn.ffmpeg.org/ffmpeg/trunk
it is '\0' rather than its content (char *p; if (p == '\0') instead of if
(*p == '\0')). See summary in "[PATCH] rtsp.c small cleanups" thread on
mailinglist.
Originally committed as revision 18125 to svn://svn.ffmpeg.org/ffmpeg/trunk
function, since they both do approximately the same thing. At the same time,
remove redir_isspace() altogether since code elsewhere (including
get_word_sep()) uses strchr() for the same purpose. See summary in "[PATCH]
rtsp.c small cleanups" thread.
Originally committed as revision 18122 to svn://svn.ffmpeg.org/ffmpeg/trunk
data packets or in addition to UDP data packets, over the RTSP/TCP connection.
See discussion in [PATCH] rtsp.c: read TCP server notifications/messages"
thread on mailinglist.
Originally committed as revision 18121 to svn://svn.ffmpeg.org/ffmpeg/trunk
the future, requested by Luca in "[PATCH] rtsp.c: read TCP server
notifications/messages" thread.
Originally committed as revision 18120 to svn://svn.ffmpeg.org/ffmpeg/trunk
single index chunk) and is always empty anyway. See "[PATCH] rmenc.c: remove
index writing" thread.
Originally committed as revision 18119 to svn://svn.ffmpeg.org/ffmpeg/trunk
SDP line handler that parses the streamID in the SDP so that ASF stream
data can be matched to their respective streams in the RTSP demuxer. See
"[PATCH] RTSP-MS 12/15: ASF payload support" thread on mailinglist.
Originally committed as revision 18061 to svn://svn.ffmpeg.org/ffmpeg/trunk
Has been tested against streamed / non-seekable input and passes make
seektest. See "[PATCH] rmdec.c: parse INDX chunk" thread on mailinglist.
Originally committed as revision 18013 to svn://svn.ffmpeg.org/ffmpeg/trunk
as requested by Kostya). See "[PATCH] rmdec.c: remove cache access
duplication".
Originally committed as revision 18010 to svn://svn.ffmpeg.org/ffmpeg/trunk
cache, since this can already be accessed through ff_rm_retrieve_cache().
See "[PATCH] rmdec.c: remove cache access duplication" thread.
Originally committed as revision 18009 to svn://svn.ffmpeg.org/ffmpeg/trunk
the newer (.rm, audio/video) files. See "[PATCH] rmdec.c: merge old/new
packet reading code" thread on mailinglist.
Originally committed as revision 18005 to svn://svn.ffmpeg.org/ffmpeg/trunk
discussion in the ML thread "[PATCH] rmdec.c: merge old/new packet reading
code".
Over time, this code broke somewhat, e.g. seq was never actually written
into (and was thus always 1, therefore the seq condition was always true),
whereas it was supposed to be set to the sequence number of the video slice
in case the video frame is divided over multiple RM packets (slices). The
problem of this is that packets other than those containing the beginning
of a video frame would be indexed as well.
Secondly, flags&2 is supposed to be true for video keyframes and for these
audio packets containing the start of a block. For some codecs (e.g. AAC),
that is every single packet, whereas for others (e.g. cook), that is the
packet containing the first of a series of scrambled packets that are to be
descrambled together. Indexing any of the following would lead to incomplete
and thus useless frames. Problem here is that flags would be reset to 2 to
indicate that the first packet is ready to be returned, and in addition if
no data was left to be returned (which is always true for the first packet),
then we wouldn't actually write the index entry anyway.
All in all, the idea was good and it probably worked at some point, but that
is long ago. This patch should at the very least make it likely for this code
to be executed again at the right times, i.e. the way it was originally
intended to be used.
Originally committed as revision 17993 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
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
under review. See "[FFmpeg-devel] RTP mark bit not passed to parse_packet"
thread on mailinglist.
Originally committed as revision 17616 to svn://svn.ffmpeg.org/ffmpeg/trunk
in common except for this one value. Change was requested by Luca in the
"[FFmpeg-devel] RTP mark bit not passed to parse_packet" thread.
Originally committed as revision 17615 to svn://svn.ffmpeg.org/ffmpeg/trunk
structure is meant to represent. See "[PATCH] rtsp.[ch]: RTSPHeader ->
RTSPServerResponse" and "[PATCH] document rtsp.h" threads on ML.
Originally committed as revision 17504 to svn://svn.ffmpeg.org/ffmpeg/trunk