summaryrefslogtreecommitdiff
path: root/libavformat
Commit message (Collapse)AuthorAge
* ff_parse_specific_params: do not use AVCodecContext.frame_sizeAnton Khirnov2015-12-12
| | | | | | It will not be set unless the muxing codec context is also the encoding context, which is discouraged. When the frame size is not known from av_get_audio_frame_duration(), the fallback should still be good enough.
* rmenc: do not use AVCodecContext.frame_sizeAnton Khirnov2015-12-12
| | | | | | It will not be set if the stream codec context is not the encoding context. Use av_get_audio_frame_duration() instead, it should work for all audio codecs supported by the muxer.
* matroskadec: Fix sample_aspect_ratio for stereo matroska contentAaron Colwell2015-12-07
| | | | | | | | | matroskaenc applies divisors to the display width/height when generating stereo content. This patch adds the corresponding multipliers to matroskadec so that the original sample aspect ratio can be recovered. Signed-off-by: wm4 <nfxjfg@googlemail.com> Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* rtsp: free opts dictionary on failure of getnameinfoGanesh Ajjanagadde2015-12-07
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc-test: add a missing va_end callGanesh Ajjanagadde2015-12-07
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* mxfenc: always assume long gopAnton Khirnov2015-12-06
| | | | | | Checking the codec context parameters to find out this information is far too unreliable to be useful, so it is safer to assume B-frames are always present.
* lavc: export Dirac parsing API used by the ogg demuxer as publicAnton Khirnov2015-12-06
| | | | Also, stop using AVCodecContext for storing the stream parameters.
* mpegenc: use the CPB props side dataAnton Khirnov2015-12-06
| | | | | Do not access the encoder options, since it makes no sense when the AVStream codec context is not the encoding context.
* movenc: use the CPB props side dataAnton Khirnov2015-12-06
| | | | | Do not access the encoder options, since it makes no sense when the AVStream codec context is not the encoding context.
* avi: Spin out the logic to position to the next non-interleaved streamLuca Barbato2015-12-02
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* avi: Validate the stream-id for DV as wellMichael Niedermayer2015-12-02
| | | | | | | | | | Avoid false positives while syncing. Bug-Id: ffmpeg/4086 Bug-Id: 879 Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* avi: Use the correct data typeLuca Barbato2015-12-02
| | | | avio_tell returns an int64_t.
* lavf: G.723.1 muxerMohamed Naufal2015-11-30
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* matroska: Warn when metadata references a non-existent elementLuca Barbato2015-11-28
| | | | | | Avoid some confusion when the information is not present. Bug-Id: 902
* dvenc: Validate the frame size before copying itLuca Barbato2015-11-28
|
* nut: Mark non-fatal errors as warningsLuca Barbato2015-11-25
| | | | And make one more informative.
* nut: Provide more information on failureLuca Barbato2015-11-25
|
* rtsp: Log getaddrinfo failuresLuca Barbato2015-11-25
| | | | And forward the logging contexts when needed.
* udp: Provide additional information on getaddrinfo failureLuca Barbato2015-11-25
|
* udp: Use the logging contextLuca Barbato2015-11-25
|
* rtsp: Do not assume getnameinfo cannot failLuca Barbato2015-11-25
| | | | And properly report the error when it happens.
* movenc-test: Fix integer overflowsMichael Niedermayer2015-11-24
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* asfdec: handle the case when the stream index has an invalid value betterAlexandra Hájková2015-11-23
| | | | | | | | | | The demuxer returned INVALIDDATA and failed to demux the remaining data when an invalid stream index was read, now it just skips the asf packet for the stream with an invalid stream index and continues demuxing. Reported-By: Hendrik Leppkes Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* oggparsespeex: Fix unchecked mallocDerek Buitenhuis2015-11-23
| | | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* movenc: add fallback audio track tref supportJohn Stebbins2015-11-18
| | | | | | | | | | | | | This feature allows making associations between audio tracks that apple players recognize. E.g. when an ac3 track has a tref that points to an aac track, devices that don't support ac3 will automatically fall back to the aac track. Apple used to *guess* these associations, but new products (AppleTV 4) no longer guess and this association can only be made explicitly now using the "fall" tref. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* avformat: expose av_stream_new_side_data helperJohn Stebbins2015-11-18
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* lavf: document that passing valid timestamps to muxers is now mandatoryAnton Khirnov2015-11-18
| | | | Also, extend the documentation about setting timestamps.
* segafilm: Fix current_sample after seeking and avio_seek return typeMichael Niedermayer2015-11-14
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* rtmpcrypt: Provide the xtea keys in little endian format for consistencyMartin Storsjö2015-11-13
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtmpcrypt: Do the xtea decryption in little endian modeMartin Storsjö2015-11-13
| | | | | | | | | | | The XTEA algorithm operates on 32 bit numbers, not on byte sequences. The XTEA implementation in libavutil is written assuming big endian numbers, while the rtmpe signature encryption assumes little endian. This fixes rtmpe communication with rtmpe servers that use signature type 8 (XTEA), e.g. crunchyroll. Signed-off-by: Martin Storsjö <martin@martin.st>
* mov: Drop dref when unable to parseVittorio Giovara2015-11-12
| | | | | | | Some entries might be either empty or contain types we do not parse (eg. 'url '). In both cases, if an 'alis' is not the first entry, external references are not loaded, so make sure that the array starts with an 'alis' dref.
* mov: Correctly store dref pathsVittorio Giovara2015-11-12
| | | | | | | | | | Rather than reading the alternate absolute path version from dref type 18, make sure that 0s are considered as '/'. These values are sometimes present in the full path, and are mistakenly interpreted as line terminators othewise. With the correct handling of this dref type, parsing type 18 is not needed any more.
* aiff: Support demuxing G.722 streamsCarl Eugen Hoyos2015-11-12
|
* thp: set duration for audio stream tooPaul B Mahol2015-11-12
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* movenc: Add a unit test for signaling of the track start timesMartin Storsjö2015-11-11
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Allow setting start_dts/start_cts before writing actual packetsMartin Storsjö2015-11-11
| | | | | | | | | | | | | | | | | By writing a zero-sized packet, the caller can communicate the start_dts/start_cts for the stream without actually writing the first packet. This allows doing random-access writing of fragments when the start dts of the stream isn't zero, so that the edit list in the moov is written based on timestamps from the nominal start time signaled via the zero-sized packet, while the first proper packet written corresponds to a later fragment. To avoid potential unexpected behaviour, empty packets only set start_dts if the frag_discont flag is set. Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Add a unit test for frag_discont with edit listsMartin Storsjö2015-11-11
| | | | | | | This tests the case where the muxer correctly guesses that a stream starts at pts=0. Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Assume streams starting at pts=0 for discontinuous fragments with ↵Martin Storsjö2015-11-11
| | | | | | | | | | editlists This allows producing fragments discontinously where the video stream has b-frames (but starts at pts=0), but doesn't work for the cases with audio with preroll. Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Add an API unit test for fragmenting options/callsMartin Storsjö2015-11-10
| | | | | | | | | | | | | | | | | Contrary to the normal fate tests that run via avconv, this tests nontrivial call sequences that are only doable via the API (mainly for different corner cases when using the muxer for segmenting). The test muxes fake packet data (with extradata that looks enough like proper data to make the file be viewable with e.g. boxdumper) and checks the hash of the produced files. The test also verifies that fragments produced via different call sequences remain identical (to avoid e.g. updating the output hashes and suddenly having fragments that used to be identical suddenly diverging), for fragments written with frag_discont and/or delay_moov. Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Automatically flush after writing the initial moovMartin Storsjö2015-11-10
| | | | | | | | In most other cases when writing fragmented mp4 files, the output IO context is flushed after each fragment. Also flush it after writing the initial moov, to have it behave in the same way. Signed-off-by: Martin Storsjö <martin@martin.st>
* lavf: deprecate compute_pkt_fields2Anton Khirnov2015-11-09
| | | | | | | | | All encoders set pts and dts properly now (and have been doing that for a while), so there is no good reason to do any timestamp guessing in the muxer. The newly added AVStreamInternal will be later used for storing all the private fields currently living in AVStream.
* lavf: factor out freeing an AVStreamAnton Khirnov2015-11-08
| | | | It will be needed in other functions.
* lavf: initialize cur_dts to AV_NOPTS_VALUE for muxingAnton Khirnov2015-11-08
| | | | The reasoning for setting it to zero only applies to demuxing.
* segafilm: drop the "song and dance" for cinepakMichael Niedermayer2015-11-06
| | | | | | | | | | This seems not to do anything any more since a long time, and removing it avoids using uninitialized memory. Also change the error value forwarding as done everywhere else. Partly fixes: msan_uninit-mem_7fb7d24780d0_2744_R03T.CAK Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* segafilm: set video and audio stream durationPaul B Mahol2015-11-06
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* segafilm: implement seekingPaul B Mahol2015-11-06
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* mov: detect cover art pictures by contentwm42015-11-03
| | | | | | | | | | | | I've got some m4a samples that had jpeg cover art marked as png. Since these files were supposedly written by iTunes, and other software can read it (e.g. clementine does), this should be worked around. Since png has a very simple to detect header, while it's apparently a real pain to detect jpeg in the general case, try to detect png and assume jpeg otherwise. Not bothering with bmp, as I have no test case. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* msnwc_tcp: Use the correct return valuesLuca Barbato2015-11-02
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* cosmetics: msnwc_tcp: ReformatLuca Barbato2015-11-02
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* msnwc_tcp: Correctly report failureLuca Barbato2015-11-02
| | | | | | | | And prevent a memory leak CC: libav-stable@libav.org Signed-off-by: Luca Barbato <lu_zero@gentoo.org>