summaryrefslogtreecommitdiff
path: root/libavformat/rtmppkt.h
Commit message (Collapse)AuthorAge
* rtmppkt: Add method to read an AMF string that is not prefixed by its typeUwe L. Korn2014-06-01
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtmppkt: Rename the ts_delta field to ts_fieldMartin Storsjö2014-03-07
| | | | | | | | | | | Based on a suggestion by Martin Panter. This is more descriptive, since it's the actual timestamp field from the RTMP packet, which might or might not be a delta depending on context (in some packets it's a delta, in some packets it's an absolute timestamp, and in some packets it's 0xffffff to indicate that the actual delta or absolute timestamp is transmitted separately). Signed-off-by: Martin Storsjö <martin@martin.st>
* rtmppkt: Handle extended timestamp field even for one-byte headerMartin Panter2014-03-07
| | | | | | | | | | | | | | | | | | | | | Related fix in "rtmpdump": https://repo.or.cz/w/rtmpdump.git/commitdiff/79459a2 Adobe's RTMP specification (21 Dec 2012), section 5.3.1.3 ("Extended Timestamp"), says "this field is present in Type 3 chunks". Type 3 chunks are those with the one-byte header size. This resolves intermittent hangs and segfaults caused by the read function, and also includes an untested fix for the write function. The read function was tested with ABC (Australia) News 24 streams, however they are probably restricted to only Australian internet addresses. Some of the packets at the start of these streams seem to contain junk timestamp fields, often requiring the extended field. Test command: avplay rtmp://cp81899.live.edgefcs.net/live/news24-med@28772 Signed-off-by: Martin Storsjö <martin@martin.st>
* rtmp: Allocate the prev_pkt arrays dynamicallyMartin Storsjö2013-10-14
| | | | | | | | | | Normally, all channel ids are between 0 and 10, while they in uncommon cases can have values up to 64k. This avoids allocating two arrays for up to 64k entries (at a total of over 6 MB in size) each when most of them aren't used at all. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtmp: Support reading interleaved chunks.Josh Allmann2013-09-17
| | | | | | | | | | | | | | | A given packet won't always come in contiguously; sometimes they may be broken up on chunk boundaries by packets of another channel. This support primarily involves tracking information about the data that's been read, so the reader can pick up where it left off for a given channel. As a side effect, we no longer over-report the bytes read if (toread = MIN(size, chunk_size)) == size Signed-off-by: Martin Storsjö <martin@martin.st>
* rtmp: Follow Flash player numbering for channels.Josh Allmann2013-09-17
| | | | | | | | | | | Channel 4 is typically used by the Flash player to transmit audio, channel 6 for video, and various stream-specific invokes get sent over channel 8, which is designated the source channel. This more closely matches the behavior of the Flash player, including the transmission of play requests over channel 8. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtmp: Do not misuse memcmpLuca Barbato2013-08-11
| | | | CC: libav-stable@libav.org
* rtmp: rename data_size to sizeLuca Barbato2013-08-10
|
* use my full first name instead of short one in copyrightsKostya Shishkov2013-06-01
|
* rtmp: Add a function for writing AMF strings based on two substringsMartin Storsjö2012-12-31
| | | | | | | This avoids having to concatenate them into one buffer before writing them as AMF. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtmppkt: Avoid unescaped backslash in Doxygen commentDiego Biurrun2012-10-23
|
* rtmppkt: Add missing libavcodec/bytestream.h include.Alex Rønne Petersen2012-08-02
| | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* rtmp: add functions for reading AMF valuesJordi Ortiz2012-08-02
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* rtmp: Read and handle incoming packets while writing dataSamuel Pitoiset2012-06-14
| | | | | | | | | | | This makes sure all incoming packets are read and handled (and reacted to) while sending an FLV stream over RTMP to a server. If there were enough incoming data to fill the TCP buffers, this could potentially make things block at unexpected places. For the upcoming RTMPT support, we need to consume all incoming data before we can send the next request. Signed-off-by: Martin Storsjö <martin@martin.st>
* doxygen: Prefer member groups over grouping into modulesReinhard Tartler2011-07-02
| | | | | | | | | Before this, almost all module groups have been used for grouping functions and fields in structures semantically. This causes them to not appear properly in the file documentation and needlessly clutters up the "Modules" index. Additionally, this commit streamlines some spelling and appearances.
* avio: make URLContext internal.Anton Khirnov2011-04-08
|
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Fix misspelled parameter names in Doxygen documentation.Diego Biurrun2010-07-02
| | | | | | This fixes one Doxygen warning each. Originally committed as revision 23970 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix grammar errors in documentationMåns Rullgård2010-06-30
| | | | Originally committed as revision 23904 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Make RTMP send/receive packet functions report number of bytes read or sent.Kostya Shishkov2010-01-30
| | | | Originally committed as revision 21533 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Dump RTMP packet contents in debug modeKostya Shishkov2009-12-11
| | | | Originally committed as revision 20799 to svn://svn.ffmpeg.org/ffmpeg/trunk
* 5l trocadero: RTMP channel ID lies in range 3-65599, uint8_t is too small for itKostya Shishkov2009-12-03
| | | | Originally committed as revision 20717 to svn://svn.ffmpeg.org/ffmpeg/trunk
* RTMP packets with one-byte header use previous packet timestamp difference, soSergiy2009-12-03
| | | | | | | track timestamp difference as well. Patch by Sergiy (mail.composeAddress("piratfm","gmail.com")) Originally committed as revision 20714 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Add another known RTMP channel ID to enum.Sergiy2009-12-02
| | | | | | From patch by Sergiy (mail = piratfm, gmail) Originally committed as revision 20703 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Support more than 64 channels in RTMP inputKostya Shishkov2009-10-18
| | | | Originally committed as revision 20270 to svn://svn.ffmpeg.org/ffmpeg/trunk
* RTMP protocol support (as a client)Kostya Shishkov2009-07-31
Originally committed as revision 19556 to svn://svn.ffmpeg.org/ffmpeg/trunk