to is a Microsoft Windows Media Server (the field will be "WMServer/version").
See "[PATCH] RTSP-MS 3/15: Add Windows Media Server type" thread on
mailinglist.
Originally committed as revision 16472 to svn://svn.ffmpeg.org/ffmpeg/trunk
access to these structures in functions that will be located in rtp_asf.c.
See "[PATCH] RTSP-MS 2/15: export RTSPState and RTSPStream" mailinglist
thread.
Originally committed as revision 16471 to svn://svn.ffmpeg.org/ffmpeg/trunk
function. See mailinglist thread "[PATCH] RTSP-MS 1/15: don't use s->pb in
asf.c".
Originally committed as revision 16470 to svn://svn.ffmpeg.org/ffmpeg/trunk
this RTSP/RDT session. This basically implies full RDT support, including
stream selection in ffmpeg and multi-stream backupping in ffmpeg (by mapping
each stream to an output). See "[PATCH] RTSP/RDT: subscriptions" thread on
mailinglist.
Originally committed as revision 16469 to svn://svn.ffmpeg.org/ffmpeg/trunk
streams" (a single RTSPStream / RDTDemuxContext can represent several
AVStreams, that's just how Real/RDT was designed...). This will fill in
most of the AVStream/AVCodecContext header fields, similar to reading a
RM file header would. See "[PATCH] multi-stream MDPR parsing" thread on
mailinglist.
Originally committed as revision 16468 to svn://svn.ffmpeg.org/ffmpeg/trunk
the AVStream->AVCodecContext->bit_rate field, which is not in the MDPR block
(the "OpaqueData" SDP field). This allows clients to choose streams based
on their bitrate, which is what most network-players base stream selection
on. (Of course, it is also possible to select based on anything else, that
is entirely up to the client.) See "[PATCH] rdt.c: ASM rulebook bitrate
reading" thread on mailinglist.
Originally committed as revision 16467 to svn://svn.ffmpeg.org/ffmpeg/trunk
each "rule" described in the ASMRuleBook. Each rule represents a stream
of identical content compared to other streams in the same rulebook, but
with a possibly different codec/bitrate/etc. See "[PATCH] rdt.c: ASM
rulebook parsing and AVStream creation" thread on mailinglist.
Originally committed as revision 16466 to svn://svn.ffmpeg.org/ffmpeg/trunk
"rmdec.c: double free" discussion on mailinglist, patch with suggestions
from Reimar Doffinger.
Originally committed as revision 16378 to svn://svn.ffmpeg.org/ffmpeg/trunk
member of the array is ever used (compare to RMDemuxContext->audio_pkt_cnt).
See "[PATCH] oops I broke rdt.c" mailinglist thread.
Originally committed as revision 16367 to svn://svn.ffmpeg.org/ffmpeg/trunk
AVStreams can be used to call these public rmdec.c functions as well, as is
the case for RDT/RTSP streams. See mailinglist discussion in "[PATCH] rdt.c:
don't reuse the same AVStream in both RTSP and RM demuxer" thread.
Originally committed as revision 16366 to svn://svn.ffmpeg.org/ffmpeg/trunk
This allows multiple video or audio streams per .rm file. See mailinglist
thread "[PATCH] rmdec.c: implement RMVideo/AudioStream".
Originally committed as revision 16365 to svn://svn.ffmpeg.org/ffmpeg/trunk
give them a ff_ prefix. See "[PATCH] asf.c: make functions of interest for
MS-RTSP public" thread on ML.
Originally committed as revision 16205 to svn://svn.ffmpeg.org/ffmpeg/trunk
RTSP stack for RTSP-MS support. This way, they can read input from any given
input source. See discussion in "[PATCH] add gb argument to ASF functions of
interest to MS-RTSP" ML thread.
Originally committed as revision 16204 to svn://svn.ffmpeg.org/ffmpeg/trunk
"[PATCH] rmdec.c: use get_buffer and skip_bytes instead of loops of get_byte".
Originally committed as revision 16139 to svn://svn.ffmpeg.org/ffmpeg/trunk
Reason for this is that there are no shared entries in the demuxer/muxer
context, making it a mystery as to why it was shared between the two. See
"[PATCH] clean rmdemux/muxcontext" patch on mailinglist.
Originally committed as revision 16111 to svn://svn.ffmpeg.org/ffmpeg/trunk
ff_rm_parse_packet() to indicate whether more audio packets are available
in the demuxer from the last RM frame, and save that in the RDT parsing
context. See patch/discussion in "[PATCH] rdt.c: don't access RMContext"
on ML.
Originally committed as revision 16110 to svn://svn.ffmpeg.org/ffmpeg/trunk
function is assured to parse at most one packet. This makes this function
useful for ASF data packet parsing in a "push-mode" in addition to the
current "pull-mode", and therefore allows for use of these functions in,
for example, the RTSP demuxer (for MS-RTSP support). Tested to give identical
output before and after for regular ASF playback, also see discussion in the
ML thread "[PATCH] asf.c: move packet_time_start=0 statement". Testsuite also
works after the patch, tested by Benoit Fouet.
Originally committed as revision 16108 to svn://svn.ffmpeg.org/ffmpeg/trunk
This function is called in rtsp.c for each a= line in the SDP of the Describe
response after m= RTSP stream descriptors. The function prototype used to
take an AVStream argument. For RDT, however, every RTSPStream represents
a set of streams of identical content, and can thus represent multiple
AVStreams. Therefore, it should not take an AVStream as argument. This
patch modifies it to accept a AVFormatContext (of the RTSP/SDP demuxer)
instead. See discussion in "[PATCH/RFC] change function prototype of
parse_sdp_a_line" thread on ML.
Originally committed as revision 16024 to svn://svn.ffmpeg.org/ffmpeg/trunk
variable. See "[PATCH] asf.c: don't access AVFormatContext->pb" thread on
ML.
Originally committed as revision 16023 to svn://svn.ffmpeg.org/ffmpeg/trunk
patches adding stream-selection easier in code. See discussion in ML thread
"[PATCH] RDT/Realmedia patches #2".
Originally committed as revision 15964 to svn://svn.ffmpeg.org/ffmpeg/trunk
stream itself, plus a name change to signify that there may be multiple
AVStreams per RDT set. See discussion in "[PATCH] RDT/Realmedia patches #2"
thread on ML.
Originally committed as revision 15962 to svn://svn.ffmpeg.org/ffmpeg/trunk
of 16bits. See discussion in "[PATCH] RDT/Realmedia patches #2" thread on ML.
Originally committed as revision 15864 to svn://svn.ffmpeg.org/ffmpeg/trunk
and streamID and the length. of the packet in case of packet concatenation.
Discussed in ML thread "[PATCH] RDT/Realmedia patches #2".
Originally committed as revision 15853 to svn://svn.ffmpeg.org/ffmpeg/trunk
accessing the data array. This allows to easily read optionally available
header bits without causing pains. See discussion in "[PATCH] RDT/Realmedia
patches #2" thread on ML.
Originally committed as revision 15852 to svn://svn.ffmpeg.org/ffmpeg/trunk
variables to temporary hold the values. Discussed in ML thread "[PATCH]
RDT/Realmedia patches #2".
Originally committed as revision 15851 to svn://svn.ffmpeg.org/ffmpeg/trunk
when calling, but url_close_buf() doesn't free it. The better solution
is to not allocate it at all, init it with init_put_byte() and then
not have to close it at all. In the case where we do need to hold it
around for longer than within the function context, we allocate it with
av_alloc_put_byte() and free it with av_free() instead. Discussed in ML
thread "[PATCH] fix small memleak in rdt.c".
Originally committed as revision 15850 to svn://svn.ffmpeg.org/ffmpeg/trunk
specify the data source as function argument instead of in s->pb before
calling the function. Discussed in ML thread "[PATCH] fix small memleak
in rdt.c".
Originally committed as revision 15849 to svn://svn.ffmpeg.org/ffmpeg/trunk
Don't call it for RDT, since it is unneeded and it doesn't provide a
RTPDemuxContext, leading to some memory errors. See "[PATCH] fix small
memory error in rtsp.c" thread on ML.
Originally committed as revision 15828 to svn://svn.ffmpeg.org/ffmpeg/trunk
comment documentation in that function. See discussion on ML in the
"[PATCH] RDT/Realmedia patches #2" thread.
Originally committed as revision 15825 to svn://svn.ffmpeg.org/ffmpeg/trunk
RTPDemuxContext for RTP) for these streams where the transport protocol
is RDT (as served by Realmedia servers).
Originally committed as revision 15544 to svn://svn.ffmpeg.org/ffmpeg/trunk
and making its type a void pointer. See discussion in "RDT/Realmedia patches
#2" thread on ML.
Originally committed as revision 15543 to svn://svn.ffmpeg.org/ffmpeg/trunk
(and thus preparing for the introduction of RDTDemuxContext) in a next patch.
See discussion in "RDT/Realmedia patches #2" thread on ML.
Originally committed as revision 15542 to svn://svn.ffmpeg.org/ffmpeg/trunk
not use RTPDemuxContext, but rather take a pointer to the payload context
directly. This allows using payload handlers regardless over the transport
over which they were sent, and prepares for the introduction of a future
RDTDemuxContext. See discussion in "RDT/Realmedia patches #2" thread on ML.
Originally committed as revision 15541 to svn://svn.ffmpeg.org/ffmpeg/trunk
the use of rdt_parse_packet(). See "RDT/Realmedia patches #2" thread on ML.
Originally committed as revision 15497 to svn://svn.ffmpeg.org/ffmpeg/trunk
rtsp.c to detect the ID of the packet source also in case of TCP streams.
This allows proper playback of RDT streams with multiple stream types, e.g.
audio + video. Accepted by LucaB in "RDT/Realmedia patches #2" thread on ML.
Originally committed as revision 15496 to svn://svn.ffmpeg.org/ffmpeg/trunk
types and their non-standard extensions, and the data they serve. Practically,
this patch allows Real servers to serve normal non-RDT (standard RTP) data.
See discussion on ML in "Realmedia patch" thread.
Originally committed as revision 15484 to svn://svn.ffmpeg.org/ffmpeg/trunk
DynamicProtocol* context. Doing so could lead to problems if we're accessing
Real servers serving non-RDT data (or the other way around). Temporarily,
this patch adds a _subscribe2() function which will soon be removed in one
of the subsequent commits. OK'ed by Luca in "Realmedia patch" thread on ML.
Originally committed as revision 15483 to svn://svn.ffmpeg.org/ffmpeg/trunk
that it only describes the lower-level transport (TCP vs. UDP) and not the
actual data layout (e.g. RDT vs. RTP). See discussion in "Realmedia patch"
thread on ML.
Originally committed as revision 15481 to svn://svn.ffmpeg.org/ffmpeg/trunk
protocol) is not strictly related to the server type (Real servers can
stream both RDT and RTP).
Originally committed as revision 15317 to svn://svn.ffmpeg.org/ffmpeg/trunk
SDP and RTSP into a new function. See discussion on ML in "[PATCH] rtsp
cleanup part 1: remove duplicate code" thread.
Originally committed as revision 15297 to svn://svn.ffmpeg.org/ffmpeg/trunk
playback of RTSP/RDT streams should work. See discussion in "Realmedia patch"
thread on ML.
Originally committed as revision 15237 to svn://svn.ffmpeg.org/ffmpeg/trunk
first stream in a RTSP/RDT session. See discussion in "Realmedia patch"
thread on ML.
Originally committed as revision 15235 to svn://svn.ffmpeg.org/ffmpeg/trunk
in rtpdec.c, so that they can be shared and used in the same way in rtsp.c.
The handlers, since they are specific for RDT, are registered in rdt.c and
a new registration function is thus called from allformats.c.
The dynamic payload handler also implements RDT-specific SDP-line parsing for
OpaqueData and StartTime, which are specific for RDT and needed for proper
playback. OpaqueData contains one or a list ("MLTI") of "MDPR" chunks that
can be parsed by the rmdec.c function ff_rm_read_mdpr_codecdata(). To use
this function, we create a new rdt_demuxer, which has the same private data
as the rm_demuxer. The resulting AVFormatContext created with _open_stream()
can thus be used to call functions in the RM demuxer.
See discussion in "Realmedia patch" thread on ML.
Originally committed as revision 15234 to svn://svn.ffmpeg.org/ffmpeg/trunk
it so that I can use it in rdt.c as well. See discussion in "Realmedia patch"
thread on ML.
Originally committed as revision 15233 to svn://svn.ffmpeg.org/ffmpeg/trunk
multiple protocols at the same time. We now cycle protocols individually
to autodetect, making this code no longer needed, and thus the support code
for it in make_setup_request() can be removed. See "[PATCH] remove transport
concatenation dead code" on mailinglist.
Originally committed as revision 15172 to svn://svn.ffmpeg.org/ffmpeg/trunk
of the "RealChallenge2" response, which is some sort of authentication. See
discussion in "Realmedia patch" thread on ffmpeg-devel.
Originally committed as revision 15170 to svn://svn.ffmpeg.org/ffmpeg/trunk
shared between the RM demuxer and the RTSP/RDT parser; both use the same
timebase. See discussion in "[PATCH] rmdec.c: move av_set_pts_info()" on ML.
Originally committed as revision 15164 to svn://svn.ffmpeg.org/ffmpeg/trunk
function itself. This way, old-style (.ra4) RTSP/RDT OpaqueData chunks can
be parsed using this function as well (they don't have the size bits). See
discussion on ML in "[PATCH] rmdec.c - small read_mdpr_codecdata() API
modification".
Originally committed as revision 15163 to svn://svn.ffmpeg.org/ffmpeg/trunk
buffer needs to be increased. See discussion in "Realmedia patch" thread
on mailinglist.
Originally committed as revision 15141 to svn://svn.ffmpeg.org/ffmpeg/trunk
the server will send to us (standard-compliant RTP or Realmedia-style RDT).
Originally committed as revision 15123 to svn://svn.ffmpeg.org/ffmpeg/trunk
thread on mailinglist for discussion. This patch also implements a
RTSPServerType enum, which allows the RTSP to keep track of what kind of a
stream we're handling: standard-compliant RTP or a proprietary derivative.
This will be used in subsequent patches to implement more Realmedia-specific
extensions required to receive and parse data coming from a Realmedia server.
Originally committed as revision 15104 to svn://svn.ffmpeg.org/ffmpeg/trunk
move it from sdp.c into utils.c. Also add new header internal.h specifically
for lavf-specific internal API. See discussion in "Realmedia patch" thread
on mailinglist.
Originally committed as revision 15002 to svn://svn.ffmpeg.org/ffmpeg/trunk
lines. This allows "private" SDP tags to be forwarded to the specific handler,
allowing protocol-specific handling of SDP data. See mailinglist discussion
in the "Realmedia patch" thread.
Originally committed as revision 14987 to svn://svn.ffmpeg.org/ffmpeg/trunk
actual hostname. This functionality already exists (and always existed) in
url_split() and is therefore useless. See discussion in "[PATCH] tcp.c/udp.c
memleak?" thread on ffmpeg-devel.
Originally committed as revision 14946 to svn://svn.ffmpeg.org/ffmpeg/trunk
only allocated if initialization worked. This means that on failure, we
don't have to deallocate it.
Originally committed as revision 14924 to svn://svn.ffmpeg.org/ffmpeg/trunk
but which opens a URLProtocol instead of a filename. url_open() is
reimplemented to call url_open_protocol(). See discussion on
"url_open_protocol" on ffmpeg-devel.
Originally committed as revision 14857 to svn://svn.ffmpeg.org/ffmpeg/trunk
iteration in make_setup_request(), and cycling between the different protocols
is now done in the calling function, therefore the need for a mask goes away.
This also makes the function somewhat simpler to read.
Discussed and approved in "[PATCH] RTSP alternate protocol 3/4".
Originally committed as revision 12505 to svn://svn.ffmpeg.org/ffmpeg/trunk
one doesn't work, we can try the next one (i.e. trial-error protocol auto-
probing).
Discussed and approved in "[PATCH] RTSP alternate protocol 2-3/3".
Originally committed as revision 12504 to svn://svn.ffmpeg.org/ffmpeg/trunk
multiple SETUPs to be send to cycle protocols rather than bailing if one
fails.
Discussed and approved in "[PATCH] RTSP alternate protocol 1/3".
Originally committed as revision 12476 to svn://svn.ffmpeg.org/ffmpeg/trunk
This can be used later by RDT to get the flags from the RTP packet and
use that for the RealMedia packet (such as whether this RTP packet
represents a keyframe or not). For discussion, see "[PATCH] Realmedia
/ RTSP (RDT)".
Originally committed as revision 11557 to svn://svn.ffmpeg.org/ffmpeg/trunk