summaryrefslogtreecommitdiff
path: root/libavformat/dashenc.c
Commit message (Collapse)AuthorAge
* lavf/dashenc: remove unneeded call to dash_freeRodger Combs2018-03-18
|
* libavformat/dashenc: Option to set timeout for socket I/O operationRavindra2018-03-18
|
* avformat/dashenc: Use HTTP DELETE for HTTP base protoSerhii Marchuk2018-03-03
|
* avformat/dashenc: fix for segment open issue when persistent connection is ↵Vishwanath Dixit2018-03-03
| | | | enabled
* avformat/dashenc: Removed usage of deprecated 'filename' variableKarthick Jeyapal2018-02-27
|
* avformat/dashenc: add option to change HTTP methodSerhii Marchuk2018-02-27
|
* avformat/dashenc: chunk streaming support for low latency use casesVishwanath Dixit2018-02-24
|
* avformat/dashenc: opening a segment file when its first frame is readyVishwanath Dixit2018-02-24
|
* avformat: migrate to AVFormatContext->urlMarton Balint2018-01-28
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/dashenc: Signal http end of chunk(http_shutdown) explicitlyKarthick Jeyapal2018-01-26
| | | | | | Currently http end of chunk is signalled implicitly in dashenc_io_open(). This mean playlists http writes would have to wait upto a segment duration to signal end of chunk causing delays. This patch will fix that problem and improve performance.
* avformat/dashenc: Fix a resource leak when http persistent in enabledKarthick Jeyapal2018-01-26
|
* avformat/hlsenc: closed caption tags in the master playlistVishwanath Dixit2018-01-24
|
* avformat/hlsenc: Add CODECS attribute to master playlistKarthick Jeyapal2018-01-19
|
* avformat/dashenc: Persistent HTTP connections supported as an optionKarthick Jeyapal2017-12-29
| | | | | Reviewed-by: Aman Gupta <aman@tmm1.net> Reviewed-by: Steven Liu <lq@onvideo.cn>
* avformat/dashenc: Addition of #EXT-X-MEDIA tag and AUDIO attributeKarthick Jeyapal2017-12-29
| | | | | | | This is required for AV playout from master.m3u8. Otherwise master.m3u8 lists only video-only and/or audio-only streams. Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
* avformat/hlsenc:addition of #EXT-X-MEDIA tag and AUDIO attributeVishwanath Dixit2017-12-23
| | | | Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* avformat/dashenc: avformat/dashenc: Fix the EXT-X-TARGETDURATION as per the ↵Karthick J2017-12-22
| | | | hls specification
* avformat/dashenc: add avpriv_io_move return value checkSteven Liu2017-12-04
| | | | | | | fix cid: 1424883 Suggested-by: Moritz Barsnick <barsnick@gmx.net> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* avformat/hlsplaylist: add int type of API ff_hls_write_file_entrySteven Liu2017-12-04
| | | | Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* avformat/dashenc: Option to generate hls playlist as wellKarthick J2017-11-30
| | | | | | | This is to take full advantage of Common Media Application Format(CMAF). Now server can generate one content and serve both HLS and DASH players. Reviewed-by: Steven Liu <lq@onvideo.cn>
* avformat/dashenc: Associate mpd extension with dash muxerKarthick J2017-11-25
| | | | | Reviewed-by: 刘歧 <lq@chinaffmpeg.org> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/dashenc: Added configuration to override HTTP User-AgentKarthick J2017-11-21
| | | | | Reviewed-by: Steven Liu <lingjiujianke@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/dashenc: fix min_seg_duration option sizeJames Cowgill2017-11-19
| | | | | | | | | | In the DASHContext structure, min_seg_duration is declared as an int, but the AVOption list claimed it was an INT64. Change the option list to use the correct size, which should fix some initialization errors seen on big-endian platforms. Signed-off-by: James Cowgill <jcowgill@debian.org> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit '4723c6226aa1ece4099338cc9b38a9cef4fa4846'James Almer2017-11-12
|\ | | | | | | | | | | | | * commit '4723c6226aa1ece4099338cc9b38a9cef4fa4846': dashenc: fix bitrate estimation with correct scaling Merged-by: James Almer <jamrial@gmail.com>
| * 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>
| * 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>
* | dashenc: copy stream frame rate to output streamPeter Große2017-10-29
| | | | | | | | | | | | | | | | 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: Michael Niedermayer <michael@niedermayer.cc>
* | dashenc: Don't output frameRates at both AS and Representation-level. Only ↵Anton Schubert2017-10-29
| | | | | | | | | | | | | | | | | | | | | | | | output maxFrameRate at AS-level. Fix conformance regarding section "3.2.4. Presence of Attributes and Element" of the "Guidelines for Implementation: DASH-IF Interoperability Points V4.1" (http://dashif.org/guidelines/) Signed-off-by: Anton Schubert <ischluff@mailbox.org> Signed-off-by: Peter Große <pegro@friiks.de> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | dashenc: allow AdaptationSets to have different average frame ratesPeter Große2017-10-29
| | | | | | | | | | Signed-off-by: Peter Große <pegro@friiks.de> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | dashenc: don't write header data before the first packet arrivesPeter Große2017-10-29
| | | | | | | | | | | | Fixes: 1b8ef01f04ab ("dashenc: add webm support") Signed-off-by: Peter Große <pegro@friiks.de> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | dashenc: set DASH related options for the subsequent matroska muxer when ↵Peter Große2017-10-29
| | | | | | | | | | | | | | | | | | | | using webm This patch is inspired by the ffmpeg webm_chunk muxer and fixes that all resulting tracks have the same track number. Signed-off-by: Peter Große <pegro@friiks.de> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | dashenc: fix bitrate estimation with correct scalingAnton Schubert2017-10-29
| | | | | | | | | | | | Signed-off-by: Anton Schubert <ischluff@mailbox.org> Signed-off-by: Peter Große <pegro@friiks.de> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | dashenc: move UTCTiming element to the end of the manifestPeter Große2017-10-28
| | | | | | | | | | | | | | | | Required by comformance XSD [1]. [1] https://github.com/Dash-Industry-Forum/Conformance-and-reference-source/blob/master/conformance/MPDValidator/schemas/DASH-MPD.xsd Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | dashenc: use av_dict_set_int instead of static functionPeter Große2017-10-28
| | | | | | | | | | Signed-off-by: Peter Große <pegro@friiks.de> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit '7295b7373862ee54903b33d6ef3335531dfa93ad'Rodger Combs2017-09-26
|\| | | | | | | | | | | | | * commit '7295b7373862ee54903b33d6ef3335531dfa93ad': dashenc: add webm support Merged-by: Rodger Combs <rodger.combs@gmail.com>
| * dashenc: add webm supportPeter Große2017-01-31
| | | | | | | | | | | | | | Use webm muxer for VP8, VP9 and Opus codec, mp4 muxer otherwise. Signed-off-by: Peter Große <pegro@friiks.de> Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '01f1f017d831cf14617aaaeafcec3ae3a81efce7'Rodger Combs2017-09-26
|\| | | | | | | | | | | | | * commit '01f1f017d831cf14617aaaeafcec3ae3a81efce7': dashenc: use avio_dynbuf instead of packet_write callback Merged-by: Rodger Combs <rodger.combs@gmail.com>
| * dashenc: use avio_dynbuf instead of packet_write callbackPeter Große2017-01-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The dash_write function drops data, if no IOContext is initialized. Since the mp4 muxer is used in "frag_custom" mode, data is only written when calling av_write_frame(NULL) explicitly and thus there will be no data loss. To add support for webm as subordinate muxer, which doesn't have such a mode, a dynamic buffer is required to provide an always initialized IOContext. Signed-off-by: Peter Große <pegro@friiks.de> Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'dce2929efa8e82b0832a828f7e8cb81ff8c20a4e'Rodger Combs2017-09-26
|\| | | | | | | | | | | | | * commit 'dce2929efa8e82b0832a828f7e8cb81ff8c20a4e': dashenc: copy language and role metadata from streams assigned to sets Merged-by: Rodger Combs <rodger.combs@gmail.com>
| * dashenc: copy language and role metadata from streams assigned to setsPeter Große2017-01-31
| | | | | | | | | | Signed-off-by: Peter Große <pegro@friiks.de> Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'ca9bc9de690258d4761a19b0df6e9c9113b80115'Rodger Combs2017-09-26
|\| | | | | | | | | | | | | * commit 'ca9bc9de690258d4761a19b0df6e9c9113b80115': dashenc: default to one AdaptationSet per stream Merged-by: Rodger Combs <rodger.combs@gmail.com>
| * dashenc: default to one AdaptationSet per streamPeter Große2017-01-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously all mapped streams of a media type (video, audio) where assigned to a single AdaptationSet. Using the DASH live profile it is mandatory, that the segments of all representations are aligned, which is currently not enforced. This leads to problems when using video streams with different key frame intervals. So to play safe, default to one AdaptationSet per stream, unless overwritten by explicit assignment. To get the old assignment scheme, use -adaptation_sets "id=0,streams=v id=1,streams=a" Signed-off-by: Peter Große <pegro@friiks.de> Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'efd2fc41b3f0749f9715d50b581f22bbaa8c5b99'Rodger Combs2017-09-26
|\| | | | | | | | | | | | | * commit 'efd2fc41b3f0749f9715d50b581f22bbaa8c5b99': dashenc: allow assigning all streams of a media type to an AdaptationSet Merged-by: Rodger Combs <rodger.combs@gmail.com>
| * dashenc: allow assigning all streams of a media type to an AdaptationSetPeter Große2017-01-31
| | | | | | | | | | | | | | | | | | Using the characters "v" or "a" instead of stream index numbers for assigning streams in the adaption_set option, all streams matching that given type will be added to the AdaptationSet. Signed-off-by: Peter Große <pegro@friiks.de> Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '3d23a5f96ad72961c14ba3a0c2add8f2ab374b61'Rodger Combs2017-09-26
|\| | | | | | | | | | | | | * commit '3d23a5f96ad72961c14ba3a0c2add8f2ab374b61': dashenc: add support for assigning streams to AdaptationSets Merged-by: Rodger Combs <rodger.combs@gmail.com>
| * dashenc: add support for assigning streams to AdaptationSetsPeter Große2017-01-31
| | | | | | | | | | | | | | | | | | Also makes sure all streams are assigned to exactly one AdaptationSet. This patch is originally based partially on code by Vignesh Venkatasubramanian. Signed-off-by: Peter Große <pegro@friiks.de> Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '9df9309d233f59d9706444a1e24ac24139f2640d'Rodger Combs2017-09-26
|\| | | | | | | | | | | | | * commit '9df9309d233f59d9706444a1e24ac24139f2640d': dashenc: calculate stream bitrate from first segment if not available Merged-by: Rodger Combs <rodger.combs@gmail.com>
| * dashenc: calculate stream bitrate from first segment if not availablePeter Große2017-01-31
| | | | | | | | | | | | | | | | | | Bandwidth information is required in the manifest, but not always provided by the demuxer. In that case calculate the bandwith based on the size and duration of the first segment. Signed-off-by: Peter Große <pegro@friiks.de> Signed-off-by: Martin Storsjö <martin@martin.st>
* | Revert "lavf/dashenc: update bitrates on dash_write_trailer"James Almer2017-09-26
| | | | | | | | | | | | | | | | This reverts commit 89c0fda5f43d8a3d3a1c538ff8d72e6737bc7d8e. A different solution will be committed instead. Signed-off-by: James Almer <jamrial@gmail.com>
* | avformat/dash: move reused API to common file and header fileSteven Liu2017-09-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | move from dashenc, move DASHTmplId and dash_fill_tmpl_params to dash.c, they will be used by dash demuxer and dash muxer. v2 fixed: 1. rename common file from dashcomm.* to dash.* Suggested-by: Hendrik Leppkes <h.leppkes@gmail.com> v3 fixed: 1. rename header file pre defined 2. add ff_ prefix for the internal API Suggested-by: James Almer <jamrial@gmail.com> Suggested-by: Timo Rothenpieler <timo@rothenpieler.org> Reviewed-by: wm4 <nfxjfg@googlemail.com> Signed-off-by: Steven Liu <lq@onvideo.cn>