summaryrefslogtreecommitdiff
path: root/libavformat
Commit message (Collapse)AuthorAge
* Add Haivision SRT protocolSven Dueking2018-03-28
| | | | | | | | The protocol requires libsrt (https://github.com/Haivision/srt) to be installed Signed-off-by: Sven Dueking <sven.dueking@nablet.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* ivf: Support VP9 and AV1 as wellLuca Barbato2018-03-12
|
* hls: Add a discontinuity marker on recoverLuca Barbato2018-03-06
| | | | | | It seems to improve the compatibility with the js demuxers. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* hvcc: zero initialize the nal buffers past the last written byteJames Almer2018-02-23
| | | | | | | Bug-Id: 1116 Cc: libav-stable@libav.org Signed-off-by: James Almer <jamrial@gmail.com>
* Drop some unnecessary config.h #includesDiego Biurrun2018-02-06
|
* rtmp: Plug leak if sending bytes read report fails.Josh Allmann2018-01-24
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtsp: only break on parse_rtsp_message on errorTristan Matthews2017-11-30
| | | | | | | | | Fix suggested by Luca Barbato. This was causing spurious EOFs when using -rtsp_transport udp, as reported in https://bugzilla.libav.org/show_bug.cgi?id=1103 Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* matroskadec: allow RealAudio/Cook/Sipro streams of flavor 0Sean McGovern2017-11-06
| | | | | | | Regression since 569d18aa9dc989c37bb4d4b968026fe5afa6fff9. Bug-Id: 1055 Cc: libav-stable@libav.org
* matroskadec: don't warn about unknown spherical medata when none is presentJames Almer2017-11-03
| | | | | | | | | | | track->video.projection.type is set to 0 (a Matroska specific "No spherical metadata present" value, with no related AVSphericalMapping) by default on files without the element. This removes bogus warnings on every single matroska file without Spherical metadata. Signed-off-by: James Almer <jamrial@gmail.com>
* dashenc: copy stream frame rate to output streamPeter Große2017-10-27
| | | | | | | | Leads to setting of DefaultDuration in Matroska muxer based on frame rate instead of timebase. Fixes playback in Chrome. Signed-off-by: Peter Große <pegro@friiks.de> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* dashenc: fix bitrate estimation with correct scalingAnton Schubert2017-10-27
| | | | | Signed-off-by: Anton Schubert <ischluff@mailbox.org> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* http: Reset compressed header flag when starting to read a requestJacek Jendrzej2017-09-26
| | | | | | | This fixes redirects, where the original redirect response indicated support for compression, while the actual redirected content didn't. Signed-off-by: Martin Storsjö <martin@martin.st>
* smacker: fix integer overflow with pts_incMichael Niedermayer2017-09-24
| | | | | | | Bug-Id: 1073 Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Sean McGovern <gseanmcg@gmail.com>
* smacker: return meaningful error codes on failureSean McGovern2017-09-24
|
* avio: update avio_alloc_context() doxyJames Almer2017-09-14
| | | | | | | | It must be freed using avio_context_free() starting with commit 99684f3ae752fc8bfb44a2dd1482f8d7a3d8536d. Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* flvdec: Check the avio_seek return value after reading a metadata packetMartin Storsjö2017-09-04
| | | | | | | | | | | | If the metadata packet is corrupted, flv_read_metabody can accidentally read past the start of the next packet. If the start of the next packet had been flushed out of the IO buffer, we would be unable to seek to the right position (on a nonseekable stream). Prefer to clearly error out instead of silently trying to read from a desynced stream which will only be interpreted as garbage. Signed-off-by: Martin Storsjö <martin@martin.st>
* Remove support for building for mingw32ce (Windows CE)Martin Storsjö2017-08-31
| | | | | | | | | | | | | | | | The toolchain for this target is unmaintained since many years. While it has been continuously build tested on fate, it hasn't actually been tested at runtime since many, many years (and back then, only a few codecs in libavcodec were tested). So far, keeping support for it has been mostly effortless, but the compiler does seem to have issues with dllimported data symbols, ending up as internal compiler errors in some cases. Instead of jumping through further hoops to work around that, just remove the target. Signed-off-by: Martin Storsjö <martin@martin.st>
* lavf: make avio_read_partial() publicwm42017-08-30
| | | | | | | Main use-case is proxying avio through a foreign I/O layer and a custom AVIO context, without losing latency and performance characteristics. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* hevc: Improve stream constraint values in common headerMark Thompson2017-08-05
| | | | | | | | Add comments to describe the sources of the constraint values expressed here, and add some more related values which will be used in following patches. Fix the incorrect values for SPS and PPS count (they are not the same as those used for H.264), and remove HEVC_MAX_CU_SIZE because it is not used anywhere.
* mov: move stsd finalization to an appropriate placeSean McGovern2017-07-31
| | | | | | | | | | | mov_finalize_stsd_codec() parses stream information from the ALAC extradata, so run it after the extradata processing is completed in mov_read_stsd(). Fixes playback of 96kHz ALAC streams muxed by qaac or the reference alac encoder. Adapted from an FFmpeg patch by Hendrik Leppkes <h.leppkes@gmail.com> Bug-Id: 1072
* mov: Do not set stsd_count if mov_read_stsd() failsSean McGovern2017-07-31
| | | | Based on an FFmpeg patch by Michael Niedermayer <michael@niedermayer.cc>
* mov: log and return early on non-positive stsd entry countsSean McGovern2017-07-30
| | | | Based on an FFmpeg patch by Michael Niedermayer <michael@niedermayer.cc>
* rmdec: add missing brackets to compound statementSean McGovern2017-07-25
| | | | Accidentally left out of 95ce02b35d3d1bb16111031df1d82a6e4d894d36.
* lavf: allow avformat_close_input() with NULLwm42017-07-22
| | | | | | This is consistent with how other destructors behave. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* caf: add an Opus tagAnton Khirnov2017-07-22
| | | | CC: libav-stable@libav.org
* rmdec: don't ignore the return value of av_get_packet()Sean McGovern2017-07-17
|
* build: Add feature test macros for glibc 2.19+Diego Biurrun2017-07-10
| | | | | | | glibc introduced _DEFAULT_SOURCE in version 2.19 to replace _BSD_SOURCE and _SVID_SOURCE, which were deprecated in version 2.20. Add _DEFAULT_SOURCE where the latter two are used to be forwards-compatible and avoid warnings about the use of deprecated definitions.
* os_support: Use HAVE_UWP instead of manually checking WINAPI_FAMILYMartin Storsjö2017-07-05
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* lavf: Remove codec_tag from dashenc and smoothstreamingencMartin Storsjö2017-07-02
| | | | | | | | | | | Currently, the tags enforced and set on the segmenter muxer level mismatch what the mp4/ismv muxer uses (since 713efb2c0d013). Skip the codec_tag altogether here, to let the user (try to) set whichever codec/tag is preferred; the individual chained muxer will reject invalid codecs anyway. Signed-off-by: Martin Storsjö <martin@martin.st>
* tls_gnutls: Readd support for nonblocking operationMartin Storsjö2017-06-20
| | | | | | | | | | | | | | | | | | | | The rtmp protocol uses nonblocking reads, to poll for incoming messages from the server while publishing a stream. Prior to 94599a6de3822b13c94096d764868128f388ba28 and d13b124eaf452b267480074b2e6946538ed03a6e, the tls protocol handled the nonblocking flag, mostly as a side effect from not using custom IO callbacks for reading from the socket. When custom IO callbacks were taken into use in d15eec4d6bdfa3bd4c4b5b7dd2dbd699ba253d02, the handling of a nonblocking socket wasn't necessary for the default blocking mode any longer. The code was simplified, since it was overlooked that other code within libavformat actually used the tls protocol in nonblocking mode. This fixes publishing over rtmps, with the gnutls backend. Signed-off-by: Martin Storsjö <martin@martin.st>
* tls_openssl: Readd support for nonblocking operationMartin Storsjö2017-06-20
| | | | | | | | | | | | | | | | | | | | The rtmp protocol uses nonblocking reads, to poll for incoming messages from the server while publishing a stream. Prior to 94599a6de3822b13c94096d764868128f388ba28 and d13b124eaf452b267480074b2e6946538ed03a6e, the tls protocol handled the nonblocking flag, mostly as a side effect from not using custom IO callbacks for reading from the socket. When custom IO callbacks were taken into use in d15eec4d6bdfa3bd4c4b5b7dd2dbd699ba253d02, the handling of a nonblocking socket wasn't necessary for the default blocking mode any longer. The code was simplified, since it was overlooked that other code within libavformat actually used the tls protocol in nonblocking mode. This fixes publishing over rtmps, with the openssl backend. Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: allow alternative hvc1 h.265 codec tagJohn Stebbins2017-06-20
| | | | | If AVCodecParameters.codec_tag is 'hvc1' use it instead of 'hev1' for h.265 streams. QuickTime (and other Apple software) requires 'hvc1'.
* movenc: write correct format hvcc when tag is hvc1John Stebbins2017-06-20
|
* movenc: move tags definitions to where they are usedJohn Stebbins2017-06-20
|
* movenc: simplify codec_tag lookupJohn Stebbins2017-06-20
| | | | | | | | mux.c init_muxer() already sets codec_tag correctly in the cases simplified here. This also adds the capability to support alternative tags for the same codec_id.
* movenc: use correct tag list for AVOutputFormat.codec_tagJohn Stebbins2017-06-20
| | | | | | | | | | | ff_mp4_obj_type contains the wrong type of tags for AVOutputFormat.codec_tag. AVOutputFormat.codec_tag is used to validate AVCodecParameters.codec_tag so needs to be the same type of tag. Creates new tag lists for mp4 and ismv. New tag lists support same list of codecs found in ff_mp4_obj_type. psp uses the same tag list as mp4 since these both use mp4_get_codec_tag to look up tags.
* tls: Hide backend implementation details from usersDiego Biurrun2017-06-02
| | | | | | | | TLS is currently implemented over either OpenSSL or GnuTLS, with more backends likely to appear in the future. Currently, those backend libraries are part of the protocol names used during e.g. the configure stage of a build. Hide those details behind a generically-named declaration for the TLS protocol to avoid leaking those details into the configuration stage.
* os_support: Remove the dynamic loading of getaddrinfo from the fallback ↵Martin Storsjö2017-06-01
| | | | | | | | | | | getaddrinfo If we for some unexplicable reason didn't pick up getaddrinfo at configure, the default, IPv4-only, fallback should be good enough. This effectively reverts 6023d84a2b7. Signed-off-by: Martin Storsjö <martin@martin.st>
* hlsenc: Support recovery from an already present playlistLuca Barbato2017-05-31
| | | | | | | Parse the playlist to recover the start sequence and previously generated segments and continue muxing from there. Mainly useful for near-seamless recovery in live scenarios.
* movenc-test: Add tests for negative cts offsetsMartin Storsjö2017-05-15
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Don't write any edit list if the start offset is zeroMartin Storsjö2017-05-15
| | | | | | In these cases, the CTTS flag is set, but no edit list is necessary. Signed-off-by: Martin Storsjö <martin@martin.st>
* movenc: Add an option for enabling negative CTS offsetsMartin Storsjö2017-05-15
| | | | | | | | | | | | This reduces the need for an edit list; streams that start with e.g. dts=-1, pts=0 can be encoded as dts=0, pts=0 (which is valid in mov/mp4) by shifting the dts values of all packets forward. This avoids the need for edit lists for such streams (while they still are needed for audio streams with encoder delay). This eases conformance with the DASH-IF interoperability guidelines. Signed-off-by: Martin Storsjö <martin@martin.st>
* mpjpeg: Use proper CR/LF in multipart headersMartin Storsjö2017-05-11
| | | | | | This is more correct. Signed-off-by: Martin Storsjö <martin@martin.st>
* aac: Split function to parse ADTS header data into public and private partDiego Biurrun2017-05-02
| | | | | | This makes the currently semi-public avpriv_aac_parse_header() function private to libavcodec and adds a proper public API function to return the parts of the ADTS header required in libavformat.
* mpeg4audio: Make avpriv_copy_pce_data() inlineAnton Khirnov2017-04-28
| | | | | | | | | The function currently accepts a PutBitContext and a GetBitContext, which hardcodes their sizes into the lavc ABI. Since the function is quite small and only called in a few places, the simplest solution is making it inline, thus avoiding a runtime dependency completely. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* dump: use av_spherical_projection_name() to print spherical projection namesJames Almer2017-04-27
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* matroskaenc: don't warn about unknown spherical metadata when there isn't anyJames Almer2017-04-26
| | | | | | | | The same warning is issued when actual unknown spherical metadata is found further down in the function. Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* Add ClearVideo decoderKostya Shishkov2017-04-25
| | | | | | Only I-frames are decoded for now. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* mm: Skip unexpected audio packetsLuca Barbato2017-04-20
| | | | | Bug-Id: 1046 CC: libav-stable@libav.org
* flv: Validate the packet sizeLuca Barbato2017-04-20
| | | | | | | Size can be negative at that point. Bug-Id: 1041 CC: libav-stable@libav.org