summaryrefslogtreecommitdiff
path: root/libavformat
Commit message (Collapse)AuthorAge
* libavformat: use avpriv_open()Rémi Denis-Courmont2013-08-07
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* rtsp: Don't include the listen flag in the SDP demuxer flagsMartin Storsjö2013-08-07
| | | | | | | It's only relevant for the RTSP demuxer. Similarly, the custom_io flag is only present in the SDP demuxer options list. Signed-off-by: Martin Storsjö <martin@martin.st>
* deprecate AV_CODEC_ID_VOXWARE and introduce AV_CODEC_ID_METASOUND insteadKostya Shishkov2013-08-07
| | | | | Voxware is the name of company, it has produced several audio codecs e.g. MetaVoice family and MetaSound.
* rtpenc_chain: Check for errors from ffio_fdopen and ffio_open_dyn_packet_bufMartin Storsjö2013-08-07
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtspenc: Check the return value from ffio_open_dyn_packet_bufMartin Storsjö2013-08-07
| | | | | | | Also clear the AVIOContext handle after freeing, to avoid possible dangling pointers if the later call fails. Signed-off-by: Martin Storsjö <martin@martin.st>
* riff: Move demuxing code to a separate file.Diego Biurrun2013-08-06
|
* riff: Move muxing code to a separate fileDiego Biurrun2013-08-06
|
* avformat/dv: K&R formatting cosmeticsDiego Biurrun2013-08-06
|
* tcp: Use a different log message and level if there's more addresses to tryMartin Storsjö2013-08-06
| | | | | | | | | This lowers the level of warnings printed if trying to connect to a host name that provides both v6 and v4 addresses but the service only is available on the v4 address (often occurring for 'localhost', with servers that aren't v6-aware). Signed-off-by: Martin Storsjö <martin@martin.st>
* unix: Convert from AVERROR to errno range before comparing error codesMartin Storsjö2013-08-06
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* riff.h: Remove stray extern declaration for non-existing symbolDiego Biurrun2013-08-05
|
* mpegts: Remove one 64-bit integer modulus operation per packetBen Avison2013-08-05
| | | | | | | | | | | | | The common case of the pointer having increased by one packet (which results in no change to the modulus) can be detected with a 64-bit subtraction, which is far cheaper than a division on many platforms. Before After Mean StdDev Mean StdDev Change Divisions 248.3 8.8 51.5 7.4 +381.7% Overall 2773.2 25.6 2372.5 43.1 +16.9% Signed-off-by: Martin Storsjö <martin@martin.st>
* network: Use SOCK_CLOEXEC when availableLuca Barbato2013-08-05
|
* lavf: Support unix socketsLuca Barbato2013-08-05
|
* mpegts: Make discard_pid() faster for single-program streamsBen Avison2013-08-05
| | | | | | | | | | | | | When a stream contains a single program, there's no point in doing a PID -> program lookup. Normally the one and only program isn't disabled, so no packets should be discarded. Before After Mean StdDev Mean StdDev Change discard_pid() 73.8 9.4 20.2 1.5 +264.8% Overall 2300.8 28.0 2253.1 20.6 +2.1% Signed-off-by: Martin Storsjö <martin@martin.st>
* mpegts: Remove one memcpy per packetBen Avison2013-08-05
| | | | | | | | | | | | | | This was being performed to ensure that a complete packet was held in contiguous memory, prior to parsing the packet. However, the source buffer is typically large enough that the packet was already contiguous, so it is beneficial to return the packet by reference in most cases. Before After Mean StdDev Mean StdDev Change memcpy 720.7 32.7 649.8 25.1 +10.9% Overall 2372.7 46.1 2291.7 21.8 +3.5% Signed-off-by: Martin Storsjö <martin@martin.st>
* avio: Add an internal function for reading without copyingBen Avison2013-08-05
| | | | | | | | As long as there is enough contiguous data in the avio buffer, just return a pointer to it instead of copying it to the caller provided buffer. Signed-off-by: Martin Storsjö <martin@martin.st>
* build: Add missing img2.o dependency to apetag.oDiego Biurrun2013-08-05
|
* mxfenc: switch to av_reallocp_array() and check allocation errorsAlexandra Khirnova2013-08-04
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* Disable deprecation warnings for cases where a replacement is availableDiego Biurrun2013-08-02
|
* Give less generic names to global library option arraysDiego Biurrun2013-08-02
|
* rtmp: Add seek supportGavriloaie Eugen-Andrei2013-08-02
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* flvdec: Eliminate completely silly gotoDiego Biurrun2013-08-01
|
* flvdec: K&R formatting cosmeticsDiego Biurrun2013-08-01
|
* flvdec: Fix = vs. == typo in sample rate checkDiego Biurrun2013-08-01
|
* rtsp: Simplify code for forming the remote peer urlMartin Storsjö2013-08-01
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpproto: Allow specifying a separate rtcp port in ff_rtp_set_remote_urlMartin Storsjö2013-08-01
| | | | | | | | | | A separate rtcp port can already be set when opening the rtp protocol normally, but when doing port setup as in RTSP (where we first need to open the local ports and pass them to the peer, and only then receive the remote peer port numbers), we didn't check the same url parameter as in the normal open routine. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpproto: Check the size before reading buf[1]Martin Storsjö2013-08-01
| | | | | | | | I doubt that anyone ever would try to send a 1 byte packet via the RTP protocol, but check just in case - it shouldn't crash at least. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpproto: Move rtpproto specific function declarations to a separate headerMartin Storsjö2013-07-31
| | | | | | | Mixing these with the rtp depacketizer functions in rtpdec.h is no good. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpproto: Simplify the rtp_read function by looping over the fdsMartin Storsjö2013-07-31
| | | | | | | This avoids having duplicate code where only the fd parameter differs. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpproto: Remove a misplaced commentMartin Storsjö2013-07-31
| | | | | | | The fdset is a pollfd array nowadays, and it is already populated at this point. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpproto: Support nonblocking readsMartin Storsjö2013-07-31
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpenc: Simplify code by introducing a macro for rescaling NTP timestampsMartin Storsjö2013-07-31
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* hls: Call avformat_find_stream_info() on the chained demuxersMichael Niedermayer2013-07-30
| | | | | | | | | This allows the chained demuxer (or more precisely, the lavf utility code) to better fill in timestamps on packets from these, especially for cases where one stream is a raw ADTS stream. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtsp: Support RFC4570 (source specific multicast) more properly.Ed Torbett2013-07-29
| | | | | | | Add support for domain names, for multiple source addresses, for exclusions, and for session level specification of addresses. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpproto: Support more than one SSM include address, support excludesEd Torbett2013-07-29
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* udp: Keep track of include and exclude sources separatelyEd Torbett2013-07-29
| | | | | | | This allows us to explicitly fail if the caller tried to set both inclusions and exclusions at the same time. Signed-off-by: Martin Storsjö <martin@martin.st>
* udp: Allow specifying multicast include/blocks as host names as wellEd Torbett2013-07-29
| | | | | | | | Previously this only allowed literal IP addresses. When these are conveyed in a SDP file as in RFC4570, host names are allowed as well. Signed-off-by: Martin Storsjö <martin@martin.st>
* avisynth: Fix a "AVISynth" vs. "AviSynth" struct name typoDiego Biurrun2013-07-29
| | | | Also fix some similar typos in comments and documentation.
* hls: Free packets when skipping packets when seekingMartin Storsjö2013-07-29
| | | | | | This fixes memory leaks present since 2b3d041cdc. Signed-off-by: Martin Storsjö <martin@martin.st>
* hlsproto: Store all durations in AV_TIME_BASEMartin Storsjö2013-07-29
| | | | | | | Also parse segment durations as floating point, which is allowed since HLS version 3. Signed-off-by: Martin Storsjö <martin@martin.st>
* hls: Store all durations in AV_TIME_BASEMartin Storsjö2013-07-29
| | | | | | | | | Also parse segment durations as floating point, which is allowed since HLS version 3. This is based on a patch by Zhang Rui. Signed-off-by: Martin Storsjö <martin@martin.st>
* hls: Store first_timestamp in units of AV_TIME_BASEMartin Storsjö2013-07-29
| | | | | | | | | | | | | | | | | | | | | When first_timestamp was stored as-is, its actual time base wasn't known later in the seek function. Additionally, the logic (from 795d9594cfa) for scaling it based on stream_index is flawed - stream_index in the seek function only specifies which stream the seek timestamp refers to, but obviously doesn't say anything about which stream first_timestamp belongs to. In the cases where stream_index was >= 0 and all streams had the same time base, this didn't matter in practice. Seeking taking first_timestamp into account is problematic when one variant is mpegts (with real timestamps) and one variant is raw ADTS (with timestamps only being accumulated packet duration), where the variants start at totally different timestamps. Signed-off-by: Martin Storsjö <martin@martin.st>
* hls: Create an AVProgram for each variantLYF2013-07-29
| | | | | | | | | Without the information, an application may choose audio from one variant and video from another variant, which leads to fetching two variants from the network. This enables av_find_best_stream() to find matching audio and video streams, so that only one variant is fetched. Signed-off-by: Martin Storsjö <martin@martin.st>
* hls: Respect the different stream time bases when comparing dtsMichael Niedermayer2013-07-29
| | | | | | | | | | | | | | | | | | Also adjust the streams timestamps according to their start timestamp when comparing. This helps getting correctly interleaved packets if one stream lacks timestamps (such as a plain ADTS stream when the other variants are full mpegts) when the others have timestamps that don't start from zero. This probably doesn't work properly if such a stream is temporarily disabled (via the discard flags) and then reenabled, and such streams are hard to correctly sync against the other streams as well - but this works better than before at least. The segment number restriction makes sure all variants advance roughly at the same pace as well. Signed-off-by: Martin Storsjö <martin@martin.st>
* hls: Set stream offset before opening a chained demuxerMartin Storsjö2013-07-29
| | | | | | | This makes sure we don't accidentally check discard flags for the wrong stream. Signed-off-by: Martin Storsjö <martin@martin.st>
* hls: Don't check discard flags until the parent demuxer's streams actually existMichael Niedermayer2013-07-29
| | | | | | | | If passing the end of one segment while initializing the chained demuxer, the parent demuxer's streams aren't set up yet, so we can't recheck the discard flags. Signed-off-by: Martin Storsjö <martin@martin.st>
* hls: Copy the time base from the chained demuxerMichael Niedermayer2013-07-29
| | | | | | | When a variant stream isn't mpegts but e.g. raw adts, the default time base (90k) isn't correct. Signed-off-by: Martin Storsjö <martin@martin.st>
* hls: Return all packets from a previous variant before moving on to the next oneMartin Storsjö2013-07-29
| | | | | | | | | | This serves as a safeguard; normally we want to use the dts comparison to interleave packets from all active variants. If that dts comparison for some reason doesn't work as intended, make sure that all packets in all variants for a certain sequence number have been returned before moving on to the next one. Signed-off-by: Martin Storsjö <martin@martin.st>
* lavf: Don't interpret just slightly broken timestamps as wraparoundMichael Niedermayer2013-07-29
| | | | | | | This avoids breaking some slightly incorrect (dts > pts) timestamps in sample HLS streams from Apple. Signed-off-by: Martin Storsjö <martin@martin.st>