summaryrefslogtreecommitdiff
path: root/libavformat/webmdashenc.c
Commit message (Collapse)AuthorAge
* lavf/webmdashenc: fix unchecked strftimeVignesh Venkatasubramanian2015-05-15
| | | | | | | | Fix unchecked strftime return value. This patch fixes Coverity CID 1295086. Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* webmdashenc: Fix UTCTiming ElementVignesh Venkatasubramanian2015-04-28
| | | | | | | | | | | | | Remove the direct profile from UTCTiming element. Per DASH spec, direct profile value should be the time at which the request was made to the server and not the time at which the manifest was written. So ffmpeg cannot write this value. This patch removes the direct profile and write the UTCTiming element with the http profile only if a URL is passed as a parameter. Update the fate test to reflect this change. Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* webmdashenc: parameter'ize minimumUpdatePeriodVignesh Venkatasubramanian2015-04-22
| | | | | | | | | Some players do not support setting minimumUpdatePeriod to zero. This patch adds a new parameter that will let the users set any value to this field. Also updates the test and the documentation. Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* webmdashenc: Add minimumUpdatePeriodVignesh Venkatasubramanian2015-04-22
| | | | | | | | | | | DASH spec requires the presence of either duration of the period or the minimumUpdatePeriod element. This patch adds the minimumUpdatePeriod element hardcoded with the value 0 as the manifest will never be updated for WebM DASH Live streams. Also updating the fate test reference file. Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* webmdashenc: Fix potential memory leakVignesh Venkatasubramanian2015-04-21
| | | | | | | | Fix potential memory leak in WebM DASH Muxer. This fixes coverity scan CID 1295088. Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* webmdashenc: Add better error handlingVignesh Venkatasubramanian2015-04-17
| | | | | | | | | Return appropriate error codes and propagate the error codes from helper functions to the outer calls. Also fix a potential leak in call to av_realloc. Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* webdashenc: replace unchecked av_malloc with stack allocationVignesh Venkatasubramanian2015-04-14
| | | | | | | | Replace an unchecked av_malloc call with stack allocation as the size is always a constant. Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* webmdashenc: Fix fate in MSVCVignesh Venkatasubramanian2015-04-07
| | | | | | | | | MSVC does not support the %F and %T format specifiers in strftime. Replace that with the expanded version. This fixes the broken fate tests in MSVC (webm-dash-manifest-*). Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* webmdashenc: Support for live stream manifestsVignesh Venkatasubramanian2015-04-05
| | | | | | | | | This patch adds support for creating DASH manifests for WebM Live Streams. It also updates the documentation and adds a fate test to verify the behavior of the new muxer flag. Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* avformat/webmdashenc: use AVERROR(ENOMEM) for memory allocation failuresMichael Niedermayer2015-04-01
| | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* lavf/webmdashenc: Representation IDs should be unique.Vignesh Venkatasubramanian2014-11-12
| | | | | | | | | According to the DASH spec, Representation IDs should be unique across all adaptation sets. Fixing that and updating the fate reference file to reflect this change. Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* lavf/webm_dash: some fields should go into RepresentationVignesh Venkatasubramanian2014-10-02
| | | | | | | | | | | Width, Height and Sample Rate should be in the AdaptationSet tag only if all the contained representations have the same width, height and sampling rate. Otherwise they should go into the Representation tag. This patch adds this functionality and a fate test for the same. Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Add a closing LF to Webm-manifest files.Carl Eugen Hoyos2014-09-16
| | | | | | Fixes fate-webm-dash-manifest on AIX. Reviewed-by: Nicolas George
* avformat/webmdashenc: use av_strlcpy() and allocate enough spaceMichael Niedermayer2014-08-29
| | | | | | Fixes out of array read Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Drop remaining unneeded != NULLMichael Niedermayer2014-08-15
| | | | | Reviewed-by: Clément Bœsch <u@pkh.me> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* Merge commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39'Michael Niedermayer2014-08-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39': cosmetics: Write NULL pointer equality checks more compactly Conflicts: cmdutils.c ffmpeg_opt.c ffplay.c libavcodec/dvbsub.c libavcodec/dvdsubdec.c libavcodec/dvdsubenc.c libavcodec/dxa.c libavcodec/libxvid_rc.c libavcodec/mpegvideo.c libavcodec/mpegvideo_enc.c libavcodec/rv10.c libavcodec/tiffenc.c libavcodec/utils.c libavcodec/vc1dec.c libavcodec/zmbv.c libavdevice/v4l2.c libavformat/matroskadec.c libavformat/movenc.c libavformat/sdp.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
* lavf: Add WebM DASH Manifest MuxerVignesh Venkatasubramanian2014-07-15
This patch adds the ability to generate WebM DASH manifest XML using ffmpeg. A sample command line would be as follows: ffmpeg \ -f webm_dash_manifest -i video1.webm \ -f webm_dash_manifest -i video2.webm \ -f webm_dash_manifest -i audio1.webm \ -f webm_dash_manifest -i audio2.webm \ -map 0 -map 1 -map 2 -map 3 \ -c copy \ -f webm_dash_manifest \ -adaptation_sets “id=0,streams=0,1 id=1,streams=2,3” \ manifest.xml It works by exporting necessary fields as metadata tags in matroskadec and use those values to write the appropriate XML fields as per the WebM DASH Specification [1]. Some ideas are adopted from webm-tools project [2]. [1] https://sites.google.com/a/webmproject.org/wiki/adaptive-streaming/webm-dash-specification [2] https://chromium.googlesource.com/webm/webm-tools/+/master/webm_dash_manifest/ Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>