summaryrefslogtreecommitdiff
path: root/libavformat/rtmppkt.h
Commit message (Collapse)AuthorAgeFilesLines
* avformat/rtmppkt: Remove ff_amf_read_boolAndreas Rheinhardt2021-02-021-9/+0
| | | | | | Added in 50468f93e3940ba78836dfdac5165c20ae75327a, but never used. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* Merge commit 'a1a143adb0fd11c474221431417cff25db7d920f'James Almer2017-09-261-3/+3
|\ | | | | | | | | | | | | * commit 'a1a143adb0fd11c474221431417cff25db7d920f': rtmp: Rename packet types to closer match the spec Merged-by: James Almer <jamrial@gmail.com>
| * rtmp: Rename packet types to closer match the specMartin Storsjö2017-02-031-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also rename comments and log messages accordingly, and add clarifying comments for some hardcoded values. The previous names were taken from older, reverse engineered references. These names match the official public rtmp specification, and matches the names used by wirecast in annotating captured streams. These names also avoid hardcoding the roles of server and client, since the handling of them is irrelevant of whether we act as server or client. The RTMP_PT_PING type maps to RTMP_PT_USER_CONTROL. The SERVER_BW and CLIENT_BW types are a bit more intertwined; RTMP_PT_SERVER_BW maps to RTMP_PT_WINDOW_ACK_SIZE and RTMP_PT_CLIENT_BW maps to RTMP_PT_SET_PEER_BW. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '3b18857ab301d2a0b3e86e9d85eed76f0798a29c'Michael Niedermayer2014-06-011-0/+17
|\ \ | |/ | | | | | | | | | | * commit '3b18857ab301d2a0b3e86e9d85eed76f0798a29c': rtmppkt: Add method to read an AMF string that is not prefixed by its type Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtmppkt: Add method to read an AMF string that is not prefixed by its typeUwe L. Korn2014-06-011-0/+17
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2014-03-071-1/+1
|\ \ | |/ | | | | | | | | | | * qatar/master: rtmppkt: Rename the ts_delta field to ts_field Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtmppkt: Rename the ts_delta field to ts_fieldMartin Storsjö2014-03-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge commit '5b2ad78f97d43299adcb038c04346999fe9b196c'Michael Niedermayer2014-03-071-1/+1
|\ \ | |/ | | | | | | | | | | * commit '5b2ad78f97d43299adcb038c04346999fe9b196c': rtmppkt: Handle extended timestamp field even for one-byte header Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtmppkt: Handle extended timestamp field even for one-byte headerMartin Panter2014-03-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge commit '84a125c4c28f3e3e215d2e6c32f7f0ec43bbc04c'Michael Niedermayer2013-10-141-3/+19
|\ \ | |/ | | | | | | | | | | * commit '84a125c4c28f3e3e215d2e6c32f7f0ec43bbc04c': rtmp: Allocate the prev_pkt arrays dynamically Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtmp: Allocate the prev_pkt arrays dynamicallyMartin Storsjö2013-10-141-3/+19
| | | | | | | | | | | | | | | | | | | | 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>
* | Merge commit '8583b14252deac71136f1dec231910abab0ba503'Michael Niedermayer2013-09-181-0/+2
|\ \ | |/ | | | | | | | | | | * commit '8583b14252deac71136f1dec231910abab0ba503': rtmp: Support reading interleaved chunks. Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtmp: Support reading interleaved chunks.Josh Allmann2013-09-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge commit 'd4aef997809167832ecc64e89dda8cb445e5fe10'Michael Niedermayer2013-09-171-2/+2
|\ \ | |/ | | | | | | | | | | * commit 'd4aef997809167832ecc64e89dda8cb445e5fe10': rtmp: Follow Flash player numbering for channels. Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtmp: Follow Flash player numbering for channels.Josh Allmann2013-09-171-2/+2
| | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-08-111-0/+7
|\ \ | |/ | | | | | | | | | | * qatar/master: rtmp: Do not misuse memcmp Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtmp: Do not misuse memcmpLuca Barbato2013-08-111-0/+7
| | | | | | | | CC: libav-stable@libav.org
* | Merge commit 'ba5393a609c723ec8ab7f9727c10fef734c09278'Michael Niedermayer2013-08-111-1/+1
|\ \ | |/ | | | | | | | | | | * commit 'ba5393a609c723ec8ab7f9727c10fef734c09278': rtmp: rename data_size to size Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtmp: rename data_size to sizeLuca Barbato2013-08-101-1/+1
| |
* | Merge commit '28306e6d620c109ddd672f7243adfbc2bbb3b18f'Michael Niedermayer2013-06-021-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | * commit '28306e6d620c109ddd672f7243adfbc2bbb3b18f': network: factor out bind-listening code use my full first name instead of short one in copyrights Conflicts: libavformat/tcp.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * use my full first name instead of short one in copyrightsKostya Shishkov2013-06-011-1/+1
| |
* | Merge commit '33f28a3be3092f642778253d9529dd66fe2a014a'Michael Niedermayer2013-01-011-0/+9
|\ \ | |/ | | | | | | | | | | | | * commit '33f28a3be3092f642778253d9529dd66fe2a014a': rtmp: Add a function for writing AMF strings based on two substrings rtmp: Return a proper error code in handle_invoke_error Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtmp: Add a function for writing AMF strings based on two substringsMartin Storsjö2012-12-311-0/+9
| | | | | | | | | | | | | | This avoids having to concatenate them into one buffer before writing them as AMF. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '0c03cc68386443f1e96ab6fb358220faf67cd5ff'Michael Niedermayer2012-10-241-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | * commit '0c03cc68386443f1e96ab6fb358220faf67cd5ff': mp3: exit on parsing error in mp_decode_frame rtmppkt: Avoid unescaped backslash in Doxygen comment fate-lavfi: replace sed/grep/cut combos with awk build: Plan 9 support Conflicts: configure tests/lavfi-regression.sh Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtmppkt: Avoid unescaped backslash in Doxygen commentDiego Biurrun2012-10-231-1/+1
| |
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-08-021-0/+43
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: x86: fft: fix imdct_half() for AVX rtmppkt: Add missing libavcodec/bytestream.h include. rtmp: add functions for reading AMF values vc1dec: remove useless #include simple_idct.h dct-test: always link with aandcttab.o vp8: pack struct VP8ThreadData more efficiently x86: remove libmpeg2 mmx(ext) idct functions eamad: Use dsputils instead of a custom bswap16_buf Canopus Lossless decoder Conflicts: Changelog LICENSE libavcodec/avcodec.h libavcodec/cllc.c libavcodec/eamad.c libavcodec/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtmppkt: Add missing libavcodec/bytestream.h include.Alex Rønne Petersen2012-08-021-0/+1
| | | | | | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * rtmp: add functions for reading AMF valuesJordi Ortiz2012-08-021-0/+42
| | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-06-151-0/+13
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: Avoid C99 variable declarations within for statements. rtmp: Read and handle incoming packets while writing data doc: document THREAD_TYPE fate variable rtpdec: Don't require frames to start with a Mode A packet avconv: don't try to free threads that were not initialized. Conflicts: doc/fate.texi ffplay.c libavdevice/dv1394.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtmp: Read and handle incoming packets while writing dataSamuel Pitoiset2012-06-141-0/+13
| | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-07-031-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: ARM: ac3: update ff_ac3_extract_exponents_neon per 8b7b2d6 ARM: NEON optimised vector_clip_int32() swscale: disable full_chroma_int when converting to non-24/32bpp RGB. suggest to use av_get_bytes_per_sample() in av_get_bits_per_sample_format() doxy ffmpeg: use av_get_bytes_per_sample() in place of av_get_bits_per_sample_fmt() put_bits: remove ALT_BITSTREAM_WRITER put_bits: always use intreadwrite.h macros libavformat: Add an example how to use the metadata API doxygen: Prefer member groups over grouping into modules doxygen: be more permissive when searching for API examples avformat: doxify the Metadata API lavf: restore old behavior for custom AVIOContex with an AVFMT_NOFILE format. lavf: use the correct pointer in av_open_input_stream(). avidec: infer absolute vs relative index from first packet Conflicts: libavformat/Makefile libavformat/avidec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * doxygen: Prefer member groups over grouping into modulesReinhard Tartler2011-07-021-1/+1
| | | | | | | | | | | | | | | | | | 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.
* | Merge remote branch 'qatar/master'Michael Niedermayer2011-04-091-0/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: lavf: bump minor and add an APIChanges entry for avformat cleanup lavf: get rid of ffm-specific stuff in avformat.h Not pulled: avio: deprecate av_protocol_next(). avio: add a function for iterating though protocol names. lavf: rename a parameter of av_sdp_create from buff->buf lavf: rename avf_sdp_create to av_sdp_create. lavf: make av_guess_image2_codec internal avio: make URLProtocol internal. avio: make URLContext internal. lavf: mark av_pkt_dump(_log) for remove on $next+1 bump. lavf: use designated initializers for all protocols applehttp: don't use deprecated url_ functions. avio: move two ff_udp_* functions from avio_internal to url.h asfdec: remove a forgotten declaration of nonexistent function avio: deprecate the typedef for URLInterruptCB Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avio: make URLContext internal.Anton Khirnov2011-04-081-0/+1
| |
| * Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-191-4/+4
|/ | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Fix misspelled parameter names in Doxygen documentation.Diego Biurrun2010-07-021-1/+1
| | | | | | 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-301-14/+14
| | | | 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-301-2/+2
| | | | Originally committed as revision 21533 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Dump RTMP packet contents in debug modeKostya Shishkov2009-12-111-0/+8
| | | | 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-031-1/+1
| | | | 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-031-1/+2
| | | | | | | 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-021-0/+1
| | | | | | 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-181-1/+1
| | | | Originally committed as revision 20270 to svn://svn.ffmpeg.org/ffmpeg/trunk
* RTMP protocol support (as a client)Kostya Shishkov2009-07-311-0/+212
Originally committed as revision 19556 to svn://svn.ffmpeg.org/ffmpeg/trunk