summaryrefslogtreecommitdiff
path: root/libavformat
Commit message (Collapse)AuthorAge
...
* idcin: return 0 from idcin_read_packet() on success.Justin Ruggles2013-01-09
| | | | This matches the AVInputFormat.read_packet() API.
* idcin: better error handlingJustin Ruggles2013-01-09
| | | | | | | | Add some additional checks for EOF and print error messages on an incomplete header or packet. FATE reference updated for id-cin-video due to the demuxer no longer returning a partial video packet at EOF.
* idcin: check for integer overflow when calling av_get_packet()Justin Ruggles2013-01-09
| | | | | chunk_size is unsigned 32-bit, but av_get_packet() takes a signed int as the packet size.
* idcin: allow seeking back to the first packetJustin Ruggles2013-01-09
| | | | | Also, do not allow seek-by-byte, as there is no way to find the next packet boundary.
* idcin: set AV_PKT_FLAG_KEY for video packets with a paletteJustin Ruggles2013-01-09
|
* idcin: set start_time and packet duration instead of manually tracking pts.Justin Ruggles2013-01-09
| | | | Also, use 1 / sample_rate for audio stream time_base.
* idcin: set channel_layoutJustin Ruggles2013-01-09
|
* idcin: fix check for presence of an audio streamJustin Ruggles2013-01-09
|
* idcin: validate header parametersJustin Ruggles2013-01-09
| | | | Avoids using unsupported parameters and signed integer overflows.
* au: remove unnecessary castsJustin Ruggles2013-01-09
|
* au: return AVERROR codes instead of -1Justin Ruggles2013-01-09
|
* au: cosmetics: pretty-print and remove pointless commentsJustin Ruggles2013-01-09
|
* au: use ff_raw_write_packet()Justin Ruggles2013-01-09
|
* au: set stream start time and packet durationsJustin Ruggles2013-01-09
|
* au: use %u when printing id and channels since they are unsignedJustin Ruggles2013-01-09
|
* au: validate sample rateJustin Ruggles2013-01-09
|
* au: move skipping of unused data to before parameter validationJustin Ruggles2013-01-09
| | | | Also do not unnecessarily skip 0 bytes.
* au: do not arbitrarily limit channel countJustin Ruggles2013-01-09
| | | | | Nothing in the AU specification sets a limit on channel count. We only need to avoid an overflow in the packet size calculation.
* au: do not set pkt->size directlyJustin Ruggles2013-01-09
| | | | It is already set by av_get_packet() even for partial reads.
* au: set block_align and use it in au_read_packet()Justin Ruggles2013-01-09
|
* au: set bit rateJustin Ruggles2013-01-09
|
* au: validate bits-per-sample separately from codec tagJustin Ruggles2013-01-09
|
* rtpdec_vp8: Mark broken packets with AV_PKT_FLAG_CORRUPTMartin Storsjö2013-01-09
| | | | | | | | This allows the caller to either include them (and get more packets decoded, but possibly some nonperfect frames), or discard them (by setting fflags=discardcorrupt). Signed-off-by: Martin Storsjö <martin@martin.st>
* oggenc: add a page_duration option and deprecate the pagesize optionJustin Ruggles2013-01-08
| | | | | | | | | | | This uses page duration instead of byte size to determine when to buffer the page. Also, it tries to avoid continued pages by buffering the current page if there are already packets in the page and adding the next packet would require it to be continued on a new page. This can improve seeking performance. The default page duration is 1 second, which is much saner than filling all page segments by default.
* rtpdec_vp8: Request a keyframe if RTP packets are lostMartin Storsjö2013-01-08
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec: Support sending RTCP feedback packetsMartin Storsjö2013-01-08
| | | | | | | | | | | | | | | | | | | | | This sends NACK for missed packets and PLI (picture loss indication) if a depacketizer indicates that it needs a new keyframe, according to RFC 4585. This is only enabled if the SDP indicated that feedback is supported (via the AVPF or SAVPF profile names). The feedback packets are throttled to a certain maximum interval (currently 250 ms) to make sure the feedback packets don't eat up too much bandwidth (which might be counterproductive). The RFC specifies a more elaborate feedback packet scheduling. The feedback packets are currently sent independently from normal RTCP RR packets, which is not totally spec compliant, but works fine in the environments I've tested it in. (RFC 5506 allows this, but requires a SDP attribute for enabling it.) Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec: Store the dynamic payload handler in the rtpdec contextMartin Storsjö2013-01-08
| | | | | | | This allows calling other dynamic payload handler functions if needed. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec_vp8: Avoid a warning about a possibly unused variableMartin Storsjö2013-01-08
| | | | | | | | The warning is a false positive, but I prefer actually initializing it over masking it with av_uninit, since the code is not performance critical. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec_vp8: Make sure the previous packet is returnedMartin Storsjö2013-01-08
| | | | | | | | | | | This is a bug from c7d4de3d73 - if the previous frame wasn't returned yet (due to missing the final packets), but we have enough data of it to return the first partition, we write that into pkt and set returned_old_frame. That commit forgot returning 0 for the case where this current packet didn't have the end_packet flag set. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec_vp8: Set the timestamp when returning a deferred packetMartin Storsjö2013-01-08
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* hlsenc: Make the start_number option set the right variableKanglin2013-01-08
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtsp: Respect max_delay for the reordering queue when using custom IOMartin Storsjö2013-01-08
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtsp: Recheck the reordering queue if getting a new packetMartin Storsjö2013-01-08
| | | | | | | | | | If we timed out and consumed a packet from the reordering queue, but didn't return a packet to the caller, recheck the queue status. Otherwise, we could end up in an infinite loop, trying to consume a queued packet that has already been consumed. CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* xwma: Remove unused variableBenjamin Larsson2013-01-07
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* asfdec: Fix printf format string length modifierDiego Biurrun2013-01-07
|
* oggdec: make sure the private parse data is cleaned upLuca Barbato2013-01-06
|
* oggdec: free the ogg streams on read_header failureLuca Barbato2013-01-06
| | | | Plug an annoying memory leak on broken files.
* Drop Snow codecDiego Biurrun2013-01-06
| | | | Snow is a toy codec with no real-world use and horrible code.
* mxfdec: fix NULL checking in mxf_get_sorted_table_segments()Xi Wang2013-01-04
| | | | | | | | | | | | The following out-of-memory check is broken. *sorted_segments = av_mallocz(...); if (!sorted_segments) { ... } The correct NULL check should use *sorted_segments. Signed-off-by: Xi Wang <xi.wang@gmail.com> Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* aviobuf: Discard old buffered, previously read data in ffio_read_partialMartin Storsjö2013-01-03
| | | | | | | This makes RTP custom IO work properly with pure read-only AVIOContexts as well. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtsp: Add support for depacketizing RTP data via custom IOMartin Storsjö2013-01-03
| | | | | | | | | | | | | | | | | | To use this, set sdpflags=custom_io to the sdp demuxer. During the avformat_open_input call, the SDP is read from the AVFormatContext AVIOContext (ctx->pb) - after the avformat_open_input call, during the av_read_frame() calls, the same ctx->pb is used for reading packets (and sending back RTCP RR packets). Normally, one would use this with a read-only AVIOContext for the SDP during the avformat_open_input call, then close that one and replace it with a read-write one for the packets after the avformat_open_input call has returned. This allows using the RTP depacketizers as "pure" demuxers, without having them tied to the libavformat network IO. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec: Move the URLContext used for RTCP RR out from the context, to a ↵Martin Storsjö2013-01-03
| | | | | | parameter Signed-off-by: Martin Storsjö <martin@martin.st>
* aviobuf: Partial support for reading in read/write contextsMartin Storsjö2013-01-03
| | | | | | | | | | | | | | | | So far, aviocontexts are used either in pure-read or pure-write mode - full read/write mode doesn't work well (and implementing it is a much larger, not totally trivial change). This patch allows using avio_read and ffio_read_partial on read/write aviocontexts, where the read operations are passed through directly unbuffered, while writes are buffered as usual. This is enough to support the operations needed by packet based data transfer like in udp/rtp, where aviocontext is the only public API for hooking up custom IO. Signed-off-by: Martin Storsjö <martin@martin.st>
* build: Avoid detecting bogus components named 'x'Clément Bœsch2013-01-03
| | | | | | | | | | The function find_things() in configure is confused by component registration calls as part of multiline macros defining combined component registration. Coalesce those macros into one line to work around the issue. Signed-off-by: Diego Biurrun <diego@biurrun.de> Signed-off-by: Martin Storsjö <martin@martin.st>
* rtmp: Add support for limelight authenticationMartin Storsjö2012-12-31
| | | | | | | | | Limelight is a not too uncommon CDN. The authentication scheme is pretty similar to the adobe authentication, but is even closer to normal http digest authentication (but not close enough to warrant sharing code) than the adobe version. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtmp: Add support for adobe authenticationMartin Storsjö2012-12-31
| | | | | | | | | | | | | | This is mostly used to authenticate the client when publishing. Tested with wowza and akamai. Some but not all servers support resending a new connect invoke within the same connection, so always reconnect for sending a new connection attempt. This matches what other applications do as well. The authentication scheme is structurally pretty similar to http digest authentication, but uses base64 instead of hex strings. Signed-off-by: Martin Storsjö <martin@martin.st>
* 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>
* rtmp: Return a proper error code in handle_invoke_errorMartin Storsjö2012-12-31
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* hlsenc: make segment number unsignedLuca Barbato2012-12-29
| | | | It will overflow if somebody keeps streaming for a time long enough.
* hlsenc: make EXT-X-MEDIA-SEQUENCE always increaseKanglin2012-12-29
|