summaryrefslogtreecommitdiff
path: root/libavformat/rtpdec.c
Commit message (Collapse)AuthorAge
* Don't let finalize_packet() touch pkt->stream_index. Instead, let individualRonald S. Bultje2009-03-03
| | | | | | | | | | | | | | | | | | | | | 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
* Reindent after r17764.Ronald S. Bultje2009-03-03
| | | | Originally committed as revision 17765 to svn://svn.ffmpeg.org/ffmpeg/trunk
* In the current implementation of rtp_parse_packet(), finalize_packet() isRonald S. Bultje2009-03-03
| | | | | | | | | 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
* Implement marker bit, which is used for several RTP payloads currentlyRonald S. Bultje2009-02-26
| | | | | | | 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
* Split rtp.h in rtp.h, rtpdec.h, and rtpenc.hLuca Abeni2009-02-06
| | | | Originally committed as revision 17016 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add "AVFormatContext *ctx" (that being the RTSP demuxer's) as first argumentRonald S. Bultje2009-02-06
| | | | | | | | | | | | to the parse_packet() function pointer in RTPDynamicProtocolHandlers. This allows these functions to peek back and retrieve values from the demuxer's context (or RTSPState). The ASF/RTP payload parser will use this to be able to parse SDP values (which occur even before the payload ID is given), store them in the RTSPState and then retrieve them while parsing payload data. See "[PATCH] RTSP-MS 13/15: add RTSP demuxer AVFormatContext to parse_packet() function pointer (was: transport context)" mailinglist thread. Originally committed as revision 17015 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Merge rtp_internal.h in rtp.h, and remove rtp_internal.hLuca Abeni2009-01-27
| | | | Originally committed as revision 16817 to svn://svn.ffmpeg.org/ffmpeg/trunk
* cosmetics: Remove pointless period after copyright statement non-sentences.Diego Biurrun2009-01-19
| | | | Originally committed as revision 16684 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Rename rtp_payload_data_t to avoid clashes with the POSIX namespaceLuca Abeni2008-12-13
| | | | Originally committed as revision 16115 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove access into RTPDemuxContext in rtsp.c, which allows making it opaqueRonald S. Bultje2008-10-04
| | | | | | | (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
* Change function prototype of RTPDynamicPayloadHandler.parse_packet() toRonald S. Bultje2008-10-04
| | | | | | | | | 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
* Uniformly define _XOPEN_SOURCE to 600.Diego Biurrun2008-09-29
| | | | | | | | | The feature_tests.h header from Sun systems (Solaris/OpenSolaris) will abort the build if _XOPEN_SOURCE is defined to 500, and C99 is requested (as well as POSIX.1-2001), and will only accept it to be defined to 600. inspired by a patch from Diego Pettenò, flameeyes gmail com Originally committed as revision 15460 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Give register_dynamic_payload_handler() in rtpdec.c a ff_ prefix and exportRonald S. Bultje2008-09-07
| | | | | | | 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
* Do not set timestamp information for a non existing AVStreamLuca Abeni2008-08-22
| | | | | | (fix a bug in the RTP demuxer) Originally committed as revision 14909 to svn://svn.ffmpeg.org/ffmpeg/trunk
* ensure we get explicit definition of various _XOPEN_SOURCE functions we useAurelien Jacobs2008-08-14
| | | | Originally committed as revision 14766 to svn://svn.ffmpeg.org/ffmpeg/trunk
* RTP: use dprintf(), allow compilation with -DDEBUGMåns Rullgård2008-07-13
| | | | Originally committed as revision 14211 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Reindent after last commitLuca Abeni2008-07-02
| | | | Originally committed as revision 14046 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix A/V synch for RTP streams that do not contain MPEG1 or 2Luca Abeni2008-07-02
| | | | | | | (correctly compute the presentation times based on the RTP timestamps and the RTCP SR packets) Originally committed as revision 14045 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use full path for #includes from another directory.Diego Biurrun2008-05-09
| | | | Originally committed as revision 13098 to svn://svn.ffmpeg.org/ffmpeg/trunk
* typo fixesDiego Biurrun2008-03-15
| | | | Originally committed as revision 12449 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add a flags field to the RTPDynamicPayloadPacketHandlerProc (PKT_FLAG_*).Ronald S. Bultje2008-01-18
| | | | | | | | | 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
* Reindent after r11493 (always use parse_packet() vfunc in rtp_parse_packet()),Ronald S. Bultje2008-01-10
| | | | | | see "[PATCH] Realmedia / RTSP (RDT)" thread on ML. Originally committed as revision 11494 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Make rtp_parse_packet() always call the vfunc of the dynamic payload handlerRonald S. Bultje2008-01-10
| | | | | | if there is one. See "[PATCH] Realmedia / RTSP (RDT)" thread on ML. Originally committed as revision 11493 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Split the RTP demuxing functions out of rtp.c, to simplify the RTP muxer's ↵Luca Abeni2008-01-04
dependencies Originally committed as revision 11406 to svn://svn.ffmpeg.org/ffmpeg/trunk