aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/rtmpproto.c
Commit message (Collapse)AuthorAgeFilesLines
...
| * proto: Realign struct initializersMartin Storsjö2011-12-011-5/+5
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
| * proto: Use .priv_data_size to allocate the private contextMartin Storsjö2011-12-011-6/+2
| | | | | | | | | | | | | | | | This simplifies the open functions by avoiding one function call that needs error checking, reducing the amount of extra bulk code. Signed-off-by: Martin Storsjö <martin@martin.st>
| * rtmp: Clean up properly if the handshake failedMartin Storsjö2011-12-011-1/+1
| | | | | | | | | | | | This prevents memory leaks if this function returns an error. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-11-191-4/+5
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (22 commits) configure: add check for w32threads to enable it automatically rtmp: do not hardcode invoke numbers cinepack: return non-generic errors fate-lavf-ts: use -mpegts_transport_stream_id option. Add an APIchanges entry and a minor bump for avio changes. avio: Mark the old interrupt callback mechanism as deprecated avplay: Set the new interrupt callback avconv: Set new interrupt callbacks for all AVFormatContexts, use avio_open2() everywhere cinepak: remove redundant coordinate checks cinepak: check strip_size cinepak, simplify, use AV_RB24() cinepak: simplify, use FFMIN() cinepak: Fix division by zero, ask for sample if encoded_buf_size is 0 applehttp: Fix seeking in streams not starting at DTS=0 http: Don't use the normal http proxy mechanism for https tls: Handle connection via a http proxy http: Reorder two code blocks http: Add a new protocol for opening connections via http proxies http: Split out the non-chunked buffer reading part from http_read segafilm: add support for raw videos ... Conflicts: avconv.c configure doc/APIchanges libavcodec/cinepak.c libavformat/applehttp.c libavformat/version.h tests/lavf-regression.sh tests/ref/lavf/ts Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtmp: do not hardcode invoke numbersJosh Allmann2011-11-181-4/+5
| | | | | | | | | | | | | | | | Note: FCPublish/FCUnpublish are adobe server specific and not described in the rtmp specification. Some servers might not cope with them at all. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-11-141-1/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: lavf: pass options from AVFormatContext to avio. avformat: Use avio_open2, pass the AVFormatContext interrupt_callback onwards avio: add avio_open2, taking an interrupt callback and options avio: add support for passing options to protocols. avio: add and use ffurl_protocol_next(). avformat: Pass the interrupt callback on to chained muxers/demuxers avio: Add an AVIOInterruptCB parameter to ffurl_open/ffurl_alloc avformat: Use ff_check_interrupt avio: Add an internal utility function for checking the new interrupt callback avio: Add AVIOInterruptCB texi2html: remove stray \n doc: prettyfy the texi2html documentation swscale: handle unaligned buffers in yuv2plane1 Conflicts: libavformat/avformat.h libavformat/avio.c libavformat/mov.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avio: add support for passing options to protocols.Anton Khirnov2011-11-131-1/+1
| | | | | | | | | | Not used anywhere yet, support for passing options from avio_open() will follow.
| * avio: Add an AVIOInterruptCB parameter to ffurl_open/ffurl_allocMartin Storsjö2011-11-131-1/+2
| | | | | | | | | | Change all uses of these function to pass the relevant callback on.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-09-231-34/+27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: Add LATM demuxer avplay: flush audio decoder with empty packets at EOF if the decoder has CODEC_CAP_DELAY set. 8svx/iff: fix decoding of compressed stereo 8svx files. 8svx: log an error message if output buffer is too small 8svx: check packet size before reading the initial sample value. 8svx: output 8-bit samples instead of 16-bit. 8svx: split delta decoding into a separate function. mp4: Don't read an empty Decoder Config Descriptor fate.sh: Ignore errors from rm command during cleanup. fate.sh: Run git-pull in quiet mode to avoid console spam. Apple ProRes decoder rtmp: Make the input FLV parser handle data cut at any point rv34: Check for invalid slices offsets eval: test isnan(sqrt(-1)) instead of just sqrt(-1) Conflicts: Changelog libavcodec/8svx.c libavcodec/proresdec.c libavcodec/version.h libavformat/iff.c libavformat/version.h tests/ref/fate/eval Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtmp: Make the input FLV parser handle data cut at any pointMartin Storsjö2011-09-221-34/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-09-211-4/+20
|\| | | | | | | | | | | | | | | | | | | | | | | * qatar/master: rtmp: Don't blindly skip the 4 trailer bytes from the FLV packets rtmp: Handle FLV packets written in more than one write call rv34: Check for invalid slice offsets Conflicts: libavformat/rtmpproto.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtmp: Don't blindly skip the 4 trailer bytes from the FLV packetsMartin Storsjö2011-09-201-3/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-201-3/+5
| | | | | | | | | | | | | | | | | | | | 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>
* | rtmpproto.c: Fixed RTMP Stream output issueChiranjeevi Melam2011-09-181-3/+5
| | | | | | | | | | Original code had the assumption of only one FLV packet per RTMP packet. But that assumption is incorrect for higher bit rates. Made changes to the code to accommodate more than one FLV packet per RTMP +packet.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-07-041-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (40 commits) H.264: template left MB handling H.264: faster fill_decode_caches H.264: faster write_back_* H.264: faster fill_filter_caches H.264: make filter_mb_fast support the case of unavailable top mb Do not include log.h in avutil.h Do not include pixfmt.h in avutil.h Do not include rational.h in avutil.h Do not include mathematics.h in avutil.h Do not include intfloat_readwrite.h in avutil.h Remove return statements following infinite loops without break RTSP: Doxygen comment cleanup doxygen: Escape '\' in Doxygen documentation. md5: cosmetics md5: use AV_WL32 to write result md5: add fate test md5: include correct headers md5: fix test program doxygen: Drop array size declarations from Doxygen parameter names. doxygen: Fix parameter names to match the function prototypes. ... Conflicts: libavcodec/x86/dsputil_mmx.c libavformat/flvenc.c libavformat/oggenc.c libavformat/wtv.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Do not include intfloat_readwrite.h in avutil.hMans Rullgard2011-07-031-0/+1
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
| * Remove return statements following infinite loops without breakMans Rullgard2011-07-031-1/+0
| | | | | | | | | | | | | | 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>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-05-261-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (32 commits) doc: create separate section for audio encoders swscale: Remove orphaned, commented-out function declaration. swscale: Eliminate rgb24toyv12_c() duplication. Remove h263_msmpeg4 from MpegEncContext. APIchanges: Fill in git hash for fps_probe_size (30315a8) avformat: Add fpsprobesize as an AVOption. avoptions: Return explicitly NAN or {0,0} if the option isn't found rtmp: Reindent rtmp: Don't try to do av_malloc(0) tty: replace AVFormatParameters.sample_rate abuse with a private option. Fix end time of last chapter in compute_chapters_end ffmpeg: get rid of useless AVInputStream.nb_streams. ffmpeg: simplify managing input files and streams ffmpeg: purge redundant AVInputStream.index. lavf: deprecate AVFormatParameters.channel. libdc1394: add a private option for channel. dv1394: add a private option for channel. v4l2: reindent. v4l2: add a private option for channel. lavf: deprecate AVFormatParameters.standard. ... Conflicts: doc/APIchanges doc/encoders.texi ffmpeg.c libavdevice/alsa-audio.h libavformat/version.h libavutil/opt.c libswscale/rgb2rgb.h libswscale/rgb2rgb_template.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtmp: Don't try to do av_malloc(0)Martin Storsjö2011-05-251-1/+1
| | | | | | | | | | | | | | | | | | 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>
* | Merge remote branch 'qatar/master'Michael Niedermayer2011-04-201-35/+28
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (37 commits) In avcodec_open(), set return code to an error value only when an error occurs instead of unconditionally at the start of the function. lavc: remove reference to opt.h from Makefile. prefer avio_check() over url_exist() avio: remove AVIO_* access symbols in favor of new AVIO_FLAG_* symbols lavu: remove misc disabled cruft lavu: remove FF_API_OLD_IMAGE_NAMES cruft NOT PULLED lavu: remove FF_API_OLD_EVAL_NAMES cruft lavc: remove misc disabled cruft. lavc: remove the FF_API_INOFFICIAL cruft. lavc: remove the FF_API_SET_STRING_OLD cruft. lavc: remove the FF_API_USE_LPC cruft. lavc: remove the FF_API_SUBTITLE_OLD cruft. lavc: remove the FF_API_VIDEO_OLD cruft. lavc: remove the FF_API_AUDIO_OLD cruft. lavc: remove the FF_API_OPT_SHOW cruft. lavc: remove the FF_API_MM_FLAGS cruft. lavf: remove misc disabled cruft. lavf: remove FF_API_INDEX_BUILT cruft lavf: remove FF_API_URL_CLASS cruft. lavf: remove FF_API_SYMVER cruft ... Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avio: remove AVIO_* access symbols in favor of new AVIO_FLAG_* symbolsStefano Sabatini2011-04-191-3/+3
| | | | | | | | | | | | | | | | 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-191-33/+26
| |
* | Merge remote branch 'qatar/master'Michael Niedermayer2011-04-091-6/+5
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * lavf: use designated initializers for all protocolsAnton Khirnov2011-04-081-6/+5
| | | | | | | | | | This is more readable and makes it easier to reorder URLProtocol members.
* | Merge remote branch 'qatar/master'Michael Niedermayer2011-04-081-2/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: proto: include os_support.h in network.h matroskaenc: don't write an empty Cues element. lavc: add a FF_API_REQUEST_CHANNELS deprecation macro avio: move extern url_interrupt_cb declaration from avio.h to url.h avio: make av_register_protocol2 internal. avio: avio_ prefix for url_set_interrupt_cb. avio: AVIO_ prefixes for URL_ open flags. proto: introduce listen option in tcp doc: clarify configure features proto: factor ff_network_wait_fd and use it on udp Conflicts: ffmpeg.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avio: AVIO_ prefixes for URL_ open flags.Anton Khirnov2011-04-071-2/+2
| |
* | Merge remote branch 'qatar/master'Michael Niedermayer2011-04-051-8/+9
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (22 commits) ac3enc: move extract_exponents inner loop to ac3dsp avio: deprecate url_get_filename(). avio: deprecate url_max_packet_size(). avio: make url_get_file_handle() internal. avio: make url_filesize() internal. avio: make url_close() internal. avio: make url_seek() internal. avio: cosmetics, move AVSEEK_SIZE/FORCE declarations together avio: make url_write() internal. avio: make url_read_complete() internal. avio: make url_read() internal. avio: make url_open() internal. avio: make url_connect internal. avio: make url_alloc internal. applehttp: Merge two for loops applehttp: Restructure the demuxer to use a custom AVIOContext applehttp: Move finished and target_duration to the variant struct aacenc: reduce the number of loop index variables avio: deprecate url_open_protocol avio: deprecate url_poll and URLPollEntry ... Conflicts: libavformat/applehttp.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avio: deprecate url_max_packet_size().Anton Khirnov2011-04-041-1/+1
| | | | | | | | URLContext.max_packet_size should be used directly.
| * avio: make url_close() internal.Anton Khirnov2011-04-041-1/+1
| |
| * avio: make url_write() internal.Anton Khirnov2011-04-041-3/+3
| |
| * avio: make url_read_complete() internal.Anton Khirnov2011-04-041-2/+2
| |
| * avio: make url_open() internal.Anton Khirnov2011-04-041-1/+2
| |
| * Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-191-4/+4
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
| * rtmpproto: rename URLContext* argument in rtmp_write()Anton Khirnov2011-02-031-2/+2
| | | | | | | | | | | | | | | | | | 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-261-1/+1
| | | | | | | | | | 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.
* | rtmpproto: rename URLContext* argument in rtmp_write()Anton Khirnov2011-02-041-2/+2
| | | | | | | | | | | | | | | | | | | | 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> (cherry picked from commit 9ad4c65f6fa7ff6d3fb7d5ea02908bbd6adc583f)
* | Prefix all _demuxer, _muxer, _protocol from libavformat and libavdevice.Diego Elio Pettenò2011-01-281-1/+1
|/ | | | | | 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. (cherry picked from commit c6610a216ed2948885772154a2eed696e0cb4aca)
* properly check for FF_API_URL_CLASS instead of LIBAVFORMAT_VERSION_MAJORAurelien Jacobs2010-10-151-3/+3
| | | | Originally committed as revision 25484 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix grammar errors in documentationMåns Rullgård2010-06-301-17/+17
| | | | Originally committed as revision 23904 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Make ff_url_split() publicMåns Rullgård2010-06-271-1/+1
| | | | | | | 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-181-0/+1
| | | | | | | | 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-011-1/+1
| | | | 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-251-1/+1
| | | | | | | | 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-201-1/+1
| | | | | | | | 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-141-0/+1
| | | | | | 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-081-1/+1
| | | | Originally committed as revision 22322 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Rename url_split to ff_url_splitMartin Storsjö2010-03-081-1/+1
| | | | | | 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-051-2/+2
| | | | | | | | | 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-181-0/+38
| | | | Originally committed as revision 21882 to svn://svn.ffmpeg.org/ffmpeg/trunk
* another 10l: forgot to change parent condition as wellKostya Shishkov2010-01-301-1/+1
| | | | Originally committed as revision 21535 to svn://svn.ffmpeg.org/ffmpeg/trunk