summaryrefslogtreecommitdiff
path: root/libavformat/rtmpproto.c
Commit message (Collapse)AuthorAge
* rtmp: Make the input FLV parser handle data cut at any pointMartin Storsjö2011-09-22
| | | | | | | | | | | | | | This makes the RTMP writing code able to handle FLV data fed in arbitrarily small or large chunks, with multiple consecutive packets in one write call, or having the FLV packet header split over numerous write calls. When used in conjunction with the flv muxer, the AVIO buffer size still needs to be large enough to fit the initial metadata packet though, since the size of that packet is written with a seekback. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtmp: Don't blindly skip the 4 trailer bytes from the FLV packetsMartin Storsjö2011-09-20
| | | | | | | | | | | | | | | | If not enough bytes are available, keep track of them and skip them on next call. In practice, if these trailer bytes are written in a separate call, there is no other data written in this call, making it fall into the "FLV packet too small" case currently - working, but not as intended. This patch makes the code more robust, handling all cases except for having the FLV packet header split over multiple write calls. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtmp: Handle FLV packets written in more than one write callChiranjeevi Melam2011-09-20
| | | | | | | | | | If the FLV packet is larger than the AVIO buffer, a partial FLV packet will be flushed to the RTMP protocol. This commit handles the most common cases of FLV packets being written in more than one call. Signed-off-by: Martin Storsjö <martin@martin.st>
* Do not include intfloat_readwrite.h in avutil.hMans Rullgard2011-07-03
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Remove return statements following infinite loops without breakMans Rullgard2011-07-03
| | | | | | | These statements cannot be reached and are thus not needed. This removes a number of compiler warnings. Signed-off-by: Mans Rullgard <mans@mansr.com>
* rtmp: Don't try to do av_malloc(0)Martin Storsjö2011-05-25
| | | | | | | | | Some received packets can have size 0. The return value from av_malloc(0) may be NULL, which is ok if the size was 0. On OS X, however, the returned pointer is non-null but leads to crashes when trying to free it. Signed-off-by: Martin Storsjö <martin@martin.st>
* avio: remove AVIO_* access symbols in favor of new AVIO_FLAG_* symbolsStefano Sabatini2011-04-19
| | | | | | | | Make AVIO_FLAG_ access constants work as flags, and in particular fix the behavior of functions (such as avio_check()) which expect them to be flags rather than modes. This breaks API.
* lavf: remove FF_API_URL_CLASS cruft.Anton Khirnov2011-04-19
|
* lavf: use designated initializers for all protocolsAnton Khirnov2011-04-08
| | | | | This is more readable and makes it easier to reorder URLProtocol members.
* avio: AVIO_ prefixes for URL_ open flags.Anton Khirnov2011-04-07
|
* avio: deprecate url_max_packet_size().Anton Khirnov2011-04-04
| | | | URLContext.max_packet_size should be used directly.
* avio: make url_close() internal.Anton Khirnov2011-04-04
|
* avio: make url_write() internal.Anton Khirnov2011-04-04
|
* avio: make url_read_complete() internal.Anton Khirnov2011-04-04
|
* avio: make url_open() internal.Anton Khirnov2011-04-04
|
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* rtmpproto: rename URLContext* argument in rtmp_write()Anton Khirnov2011-02-03
| | | | | | | | | Now the first argument is URLContext *h. However, the function logs to LOG_CONTEXT, which is #defined as 's' for new lavf major versions. Therefore, rename h -> s. Signed-off-by: Mans Rullgard <mans@mansr.com>
* Prefix all _demuxer, _muxer, _protocol from libavformat and libavdevice.Diego Elio Pettenò2011-01-26
| | | | | This also lists the objects from those two libraries as internal (by adding the ff_ prefix) so that they can then be hidden via linker scripts.
* properly check for FF_API_URL_CLASS instead of LIBAVFORMAT_VERSION_MAJORAurelien Jacobs2010-10-15
| | | | Originally committed as revision 25484 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 ff_url_split() publicMåns Rullgård2010-06-27
| | | | | | | ff_url_split() is retained as an alias, as it was used by ffserver, to avoid breaking ABI compatibility with it. Originally committed as revision 23822 to svn://svn.ffmpeg.org/ffmpeg/trunk
* RTMP: Return from rtmp_read as soon as some data is availableMartin Storsjö2010-06-18
| | | | | | | | Earlier, the function only returned when the enough data to fill the requested buffer was available. This lead to high latency when receiving low-bandwidth streams. Originally committed as revision 23642 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Declare the url_write buffer parameter as constMartin Storsjö2010-06-01
| | | | Originally committed as revision 23401 to svn://svn.ffmpeg.org/ffmpeg/trunk
* 24l trocadero: RTMP reader forgot to shift high byte of timestamp to itstrueice@gmail.com2010-05-25
| | | | | | | | proper position Patch by trueice (his gmail account is obvious) Originally committed as revision 23305 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove explicit filename from Doxygen @file commands.Diego Biurrun2010-04-20
| | | | | | | | Passing an explicit filename to this command is only necessary if the documentation in the @file block refers to a file different from the one the block resides in. Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
* move ff_url_split() and ff_url_join() declarations to internal.hAurelien Jacobs2010-03-14
| | | | | | those functions are not part of the public API Originally committed as revision 22534 to svn://svn.ffmpeg.org/ffmpeg/trunk
* ReindentMartin Storsjö2010-03-08
| | | | Originally committed as revision 22322 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Rename url_split to ff_url_splitMartin Storsjö2010-03-08
| | | | | | Since this function isn't in the public API, it should have an ff_ prefix. Originally committed as revision 22321 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use ff_url_join for assembling URLs, instead of snprintfMartin Storsjö2010-03-05
| | | | | | | | | This ensures proper escaping of numerical IPv6 addresses. The RTSP (de)muxer needs its own network initialization, since it isn't a protocol and url_open hasn't been called yet. Originally committed as revision 22226 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Make RTMP client send bytes read reportKostya Shishkov2010-02-18
| | | | Originally committed as revision 21882 to svn://svn.ffmpeg.org/ffmpeg/trunk
* another 10l: forgot to change parent condition as wellKostya Shishkov2010-01-30
| | | | Originally committed as revision 21535 to svn://svn.ffmpeg.org/ffmpeg/trunk
* 10l trocadero: now return value of ff_rtmp_packet_read() has different meaningKostya Shishkov2010-01-30
| | | | Originally committed as revision 21534 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Correct timestamps inside FLV data received by RTMP.Sergiy2010-01-12
| | | | | | Patch by Sergiy (gmail(piratfm)) Originally committed as revision 21161 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Use old-style RTMP handshake for old servers.Art Clarke2010-01-12
| | | | | | | This fixes issue streaming from Red5 server. Patch by Art Clarke (aclarke@`echo xyzzy|sed s/y/u/|sed s/y/le/|tr z g`.com) Originally committed as revision 21160 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Reply to RTMP ping with the same value as received by client.Martin Storsjö2009-12-16
| | | | | | Patch by Martin Storsjö ($name at $name dot \163\164) Originally committed as revision 20881 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: don't forget to free packet in gen_connect()Martin Storsjö2009-12-11
| | | | | | Patch by Martin Storsjö ($name at $name dot `abbreviation for "street"`) Originally committed as revision 20798 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Do not try to interact with RTMP server after "stop" command was received.Martin Storsjö2009-12-11
| | | | | | Patch by Martin Storsjö ($name at $name dot `Sao Tome and Principe domain`) Originally committed as revision 20797 to svn://svn.ffmpeg.org/ffmpeg/trunk
* cosmetics: insert space between codeword and left parenthesisKostya Shishkov2009-12-06
| | | | Originally committed as revision 20746 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Do not send invokes to RTMP server if we are not connected to it.Sergiy2009-12-06
| | | | | | Patch by Sergiy (server.connect("gmail.com").selectAddress("piratfm")) Originally committed as revision 20745 to svn://svn.ffmpeg.org/ffmpeg/trunk
* cosmetics: reindent after last commitKostya Shishkov2009-12-04
| | | | Originally committed as revision 20732 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Implement RTMP output (publishing FLV stream to RTMP server).Sergiy2009-12-04
| | | | | | Patch by Sergiy (piratfm at `do-no-evil-mail`.com) Originally committed as revision 20731 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove duplicating variableKostya Shishkov2009-12-03
| | | | Originally committed as revision 20718 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Send connect() and createStream() in RTMP system channel, not video channel.Sergiy2009-12-03
| | | | | | Patch by Sergiy (com gmail . piratfm @ mail =) Originally committed as revision 20716 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move "app" string into RTMP protocol context.Sergiy2009-12-03
| | | | | | Patch by Sergiy (com.gmail@piratfm) Originally committed as revision 20715 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move is_input flag into RTMP protocol context.Sergiy2009-12-02
| | | | | | | Patch by Sergiy (gmail(piratfm)) Thread "[PATCH] rtmp-output" Originally committed as revision 20702 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Full-header RTMP packets contain real timestamp, others contain timestampKostya Shishkov2009-12-01
| | | | | | | | difference, so make all read packets store absolute timestamp. As a consequence, we don't need to track audio/video timestamps separately any longer in protocol handler. Originally committed as revision 20685 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Print error when RTMP protocol can't open connectionKostya Shishkov2009-11-22
| | | | Originally committed as revision 20574 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Pass only useful FLV metadata from RTMP streamKostya Shishkov2009-11-22
| | | | Originally committed as revision 20573 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Split overly long line in doxy.Stefano Sabatini2009-11-12
| | | | Originally committed as revision 20529 to svn://svn.ffmpeg.org/ffmpeg/trunk