[FFmpeg-devel] [PATCH] avformat/dashenc: Fix a bug with writing "final" manifest

2019-04-16 Thread Karthick J via ffmpeg-devel
This bug was introduced in the commit 951561b64ee6c11f01daedd9dcf73276cc1e765b --- libavformat/dashenc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index 5f1333e436..b88d4b3496 100644 --- a/libavformat/dashenc.c +++ b/libavform

[FFmpeg-devel] [PATCH] avformat/dashenc: Disable streaming for webm output

2019-04-09 Thread Karthick J via ffmpeg-devel
Currently streaming for webm output doesn't work. Disabling explicitly will make sure that the manifest will get generated correctly. --- libavformat/dashenc.c | 5 + 1 file changed, 5 insertions(+) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index f8d71166d4..d8dcbc1230 10064

[FFmpeg-devel] [PATCH] avformat/dashenc : Fix streaming mode support for webm output

2019-04-08 Thread Karthick J via ffmpeg-devel
--- libavformat/dashenc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index f8d71166d4..9dd520787f 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -1750,10 +1750,10 @@ static int dash_write_packet(AVFormatC

[FFmpeg-devel] [PATCH 2/2] avformat/dashenc: Add support for Global SIDX

2019-03-24 Thread Karthick J via ffmpeg-devel
--- doc/muxers.texi | 3 ++ libavformat/dashenc.c | 119 -- 2 files changed, 84 insertions(+), 38 deletions(-) diff --git a/doc/muxers.texi b/doc/muxers.texi index aac7d94edf..83ae017d6c 100644 --- a/doc/muxers.texi +++ b/doc/muxers.texi @@ -293,6 +

[FFmpeg-devel] [PATCH 1/2] avformat/movenc: Fix skip_trailer when global_sidx is enabled

2019-03-24 Thread Karthick J via ffmpeg-devel
--- libavformat/movenc.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 8969d5b170..f46cbc5ea5 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -6745,9 +6745,8 @@ static int mov_write_trailer(AVFormatContext

[FFmpeg-devel] [PATCH v2 2/2] avformat/dashenc: Added comments

2019-02-20 Thread Karthick J
Added comments regarding usage of certain movflags in streaming mode. --- libavformat/dashenc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index a0b44a0ec3..c5e882f4ae 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -1216,

[FFmpeg-devel] [PATCH 2/2] avformat/dashenc: Added comments

2019-02-18 Thread Karthick J
Added comments regarding usage of certain movflags in streaming mode. --- libavformat/dashenc.c | 11 +++ 1 file changed, 11 insertions(+) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index a0b44a0ec3..f8782756b4 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c

[FFmpeg-devel] [PATCH 1/2] avformat/dashenc: Added option to repeatedly publish master playlist

2019-02-18 Thread Karthick J
The master playlist can be published at a specified interval with this option --- doc/muxers.texi | 3 +++ libavformat/dashenc.c | 9 - 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/doc/muxers.texi b/doc/muxers.texi index 36010cf2d1..372fab2f92 100644 --- a/doc/muxer

[FFmpeg-devel] [PATCH] avformat/tee : Pass standards compliance value to slave muxers as well

2019-01-30 Thread Karthick J
--- libavformat/tee.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavformat/tee.c b/libavformat/tee.c index ef3b113a47..89a4ceb280 100644 --- a/libavformat/tee.c +++ b/libavformat/tee.c @@ -236,6 +236,7 @@ static int open_slave(AVFormatContext *avf, char *slave, TeeSlave *tee_slave)

[FFmpeg-devel] [PATCH] avformat/dashenc: Skip writing trailer for MP4 output when in streaming mode

2019-01-23 Thread Karthick J
In streaming mode mp4 trailer is not required for playout. --- libavformat/dashenc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index 9c90cf17e5..6299e179c2 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -121

[FFmpeg-devel] [PATCH] avformat/dashenc: Added documentation for $ext$ identifier in filenames

2019-01-17 Thread Karthick J
--- doc/muxers.texi | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/muxers.texi b/doc/muxers.texi index 4ed46a2220..d2d985f1ac 100644 --- a/doc/muxers.texi +++ b/doc/muxers.texi @@ -216,6 +216,8 @@ It creates a MPD manifest file and segment files for each stream. The segment filename m

[FFmpeg-devel] [PATCH v2] avformat/dashenc: Format xs:datetime in millisecond precision

2019-01-17 Thread Karthick J
For low latency streaming even milliseconds matter! --- libavformat/dashenc.c | 15 --- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index cfd0f601d4..9c90cf17e5 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc

[FFmpeg-devel] [PATCH] avformat/dashenc: Format xs:datetime in millisecond precision

2019-01-17 Thread Karthick J
For low latency streaming even milliseconds matter! --- libavformat/dashenc.c | 13 ++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index cfd0f601d4..912c1cf11d 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c

[FFmpeg-devel] [PATCH] avformat/file: Fix file delete for Windows

2018-12-30 Thread Karthick J
From: Karthick Jeyapal Fixes bug id : 7638 --- libavformat/file.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libavformat/file.c b/libavformat/file.c index 1d321c4..e613b91 100644 --- a/libavformat/file.c +++ b/libavformat/file.c @@ -173,7 +173,11 @@ static int file_

[FFmpeg-devel] [PATCH v2 1/2] avformat/dashenc : Refactored HLS media playlist related code

2018-12-12 Thread Karthick J
Made it as a separate function, so that it could be reused (in future) --- libavformat/dashenc.c | 135 +++--- 1 file changed, 75 insertions(+), 60 deletions(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index 585b34cb97..f797b7bd1c 100644 --- a

[FFmpeg-devel] [PATCH v2 2/2] avformat/dashenc: Added support for Low-latency HLS(Experimental)

2018-12-12 Thread Karthick J
Apple doesn't have an official spec for LHLS. Meanwhile hls.js player folks are trying to standardize a open LHLS spec. The draft spec is available in https://github.com/video-dev/hlsjs-rfcs/blob/lhls-spec/proposals/0001-lhls.md This option will also try to comply with the above open spec, till Ap

[FFmpeg-devel] [PATCH 1/2] avformat/dashenc : Refactored HLS media playlist related code

2018-12-11 Thread Karthick J
Made it as a separate function, so that it could be reused (in future) --- libavformat/dashenc.c | 135 +++--- 1 file changed, 75 insertions(+), 60 deletions(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index 585b34cb97..f797b7bd1c 100644 --- a

[FFmpeg-devel] [PATCH 2/2] avformat/dashenc: Added support for Low-latency HLS(LHLS)

2018-12-11 Thread Karthick J
Apple doesn't have an official spec for LHLS. Meanwhile hls.js player folks are trying to standardize a open LHLS spec. The draft spec is available in https://github.com/video-dev/hlsjs-rfcs/blob/lhls-spec/proposals/0001-lhls.md This option will also try to comply with the above open spec, till Ap

[FFmpeg-devel] [PATCH 2/2] avformat/hlsenc : Added an option to ignore IO errors

2018-12-06 Thread Karthick J
Useful for long duration runs with network output --- doc/muxers.texi | 3 +++ libavformat/hlsenc.c | 41 +++-- 2 files changed, 34 insertions(+), 10 deletions(-) diff --git a/doc/muxers.texi b/doc/muxers.texi index ca10741900..8eefcf1e82 100644 --- a/doc

[FFmpeg-devel] [PATCH 1/2] avformat/hlsenc: Handled error from ff_http_do_new_request() function

2018-12-06 Thread Karthick J
This patch fixes the segmentation fault issues due to unhandled errors from ff_http_do_new_request function. --- libavformat/hlsenc.c | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index 31ef0237ae..42adcfbab1 100644 --- a/li

[FFmpeg-devel] [PATCH v4] avformat/movenc: Added an option to disable SIDX atom

2018-12-05 Thread Karthick J
--- doc/muxers.texi | 4 libavformat/movenc.c | 12 ++-- libavformat/movenc.h | 1 + 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/doc/muxers.texi b/doc/muxers.texi index f1cc6f5fee..ca10741900 100644 --- a/doc/muxers.texi +++ b/doc/muxers.texi @@ -1325,6 +132

[FFmpeg-devel] [PATCH v3] avformat/movenc: Added an option to disable SIDX atom

2018-12-05 Thread Karthick J
--- doc/muxers.texi | 4 libavformat/movenc.c | 12 ++-- libavformat/movenc.h | 1 + 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/doc/muxers.texi b/doc/muxers.texi index f1cc6f5fee..ca10741900 100644 --- a/doc/muxers.texi +++ b/doc/muxers.texi @@ -1325,6 +132

[FFmpeg-devel] [PATCH v2 1/2] avformat/movenc: Added an option to disable SIDX atom

2018-12-04 Thread Karthick J
--- doc/muxers.texi | 4 libavformat/movenc.c | 12 ++-- libavformat/movenc.h | 1 + 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/doc/muxers.texi b/doc/muxers.texi index f1cc6f5fee..ca10741900 100644 --- a/doc/muxers.texi +++ b/doc/muxers.texi @@ -1325,6 +132

[FFmpeg-devel] [PATCH v2 2/2] avformat/dashenc: Used the movenc option skip_sidx instead of global_sidx

2018-12-04 Thread Karthick J
Anyways the intended behaviour was to disable SIDX atom. --- libavformat/dashenc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index 4d9b564a94..585b34cb97 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -1162,

[FFmpeg-devel] [PATCH 1/2] avformat/movenc: Added an option to disable SIDX atom

2018-12-04 Thread Karthick J
--- doc/muxers.texi | 2 ++ libavformat/movenc.c | 7 +-- libavformat/movenc.h | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/doc/muxers.texi b/doc/muxers.texi index f1cc6f5fee..6ca27b04a3 100644 --- a/doc/muxers.texi +++ b/doc/muxers.texi @@ -1325,6 +1325,8 @@ more

[FFmpeg-devel] [PATCH 2/2] avformat/dashenc: Used the movenc option no_sidx instead of global_sidx

2018-12-04 Thread Karthick J
Anyways the intended behaviour was to disable SIDX atom. --- libavformat/dashenc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index 4d9b564a94..84bc58d6c1 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -1162,

[FFmpeg-devel] [PATCH] avformat/dashenc: Added proper logging when io_open fails for write

2018-11-29 Thread Karthick J
--- libavformat/dashenc.c | 19 +-- 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index 04218af6a6..09207dcf44 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -209,6 +209,15 @@ static const char *get_f

[FFmpeg-devel] [PATCH v2 2/2] avformat/dashenc: Added an option to ignore io errors

2018-11-28 Thread Karthick J
When dashenc has to run for long duration(say 24x7 live stream), one can enable this option to ignore the io failure of few segment's upload due to an intermittent network issues. When the network connection recovers dashenc will continue with the upload of the current segments, leading to the r

[FFmpeg-devel] [PATCH v2 1/2] avformat/dashenc: Handled the error from dashenc_io_open()

2018-11-28 Thread Karthick J
--- libavformat/dashenc.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index 6ce70e0076..2f403257c0 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -527,8 +527,12 @@ static void output_segment_list(OutputSt

[FFmpeg-devel] [PATCH v2] avformat/movenc : Don't write sidx for empty urls

2018-11-28 Thread Karthick J
When movenc is used by other segmenting muxers such as dashenc, url field is always empty. In such cases it is better to not write sidx, instead of throwing errors. --- libavformat/movenc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 6d

[FFmpeg-devel] [PATCH] avformat/movenc : Don't write sidx for empty urls

2018-11-28 Thread Karthick J
When movenc is used by other segmenting muxers such as dashenc, url field is always empty. In such cases it is better to not write sidx, instead of throwing errors. --- libavformat/movenc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 6d

[FFmpeg-devel] [PATCH 2/2] avformat/dashenc: Added an option to ignore io errors

2018-11-26 Thread Karthick J
When dashenc has to run for long duration(say 24x7 live stream), one can enable this option to ignore the io failure of few segment's upload due to an intermittent network issues. When the network connection recovers dashenc will continue with the upload of the current segments, leading to the r

[FFmpeg-devel] [PATCH 1/2] avformat/dashenc: Handled the error from dashenc_io_open()

2018-11-26 Thread Karthick J
--- libavformat/dashenc.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index 6ce70e0076..2f403257c0 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -527,8 +527,12 @@ static void output_segment_list(OutputSt

[FFmpeg-devel] [PATCH 1/2] avformat/dashenc : Handled error from ff_http_do_new_request() cleanly

2018-11-16 Thread Karthick J
--- libavformat/dashenc.c | 10 -- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index d151921175..2c1cce0c92 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -168,6 +168,8 @@ static int dashenc_io_open(AVFormat

[FFmpeg-devel] [PATCH 2/2] avformat/http : Added check for valid URL context before calling shutdown

2018-11-16 Thread Karthick J
--- libavformat/http.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/http.c b/libavformat/http.c index 3a35bc7eac..240304f6e6 100644 --- a/libavformat/http.c +++ b/libavformat/http.c @@ -1650,7 +1650,7 @@ static int http_close(URLContext *h) av_freep(&s->infl

[FFmpeg-devel] [PATCH] avformat/dashenc: Disable writing CODECS tag for HEVC streams

2018-10-21 Thread Karthick J
For HEVC streams, only the FourCC tag is written without profile, level etc., This is breaking playout support in native Safari. Native Safari playout expects the full info in CODECS tag or None at all. --- libavformat/dashenc.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --gi

[FFmpeg-devel] [PATCH] avformat/dashenc: Support HTTP persistent for init segments as well

2018-10-20 Thread Karthick J
--- libavformat/dashenc.c | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index b0a59af3ee..4e2ea2ebf2 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -355,8 +355,11 @@ static int flush_init_segment(AVFormat

[FFmpeg-devel] [PATCH] avformat/dashenc: URL close unconditionally after DELETE segments

2018-10-18 Thread Karthick J
Fixes bug with HTTP DELETE when HTTP Persistent is ON. Right now, HTTP Persistent connections is supported only for POSTs and PUTs. HTTP DELETE will still open a new connection every time. --- libavformat/dashenc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/das

[FFmpeg-devel] [PATCH] avformat/dashenc: Support HTTP Persistent for master.mu8 as well

2018-10-17 Thread Karthick J
--- libavformat/dashenc.c | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index 3f5f290e25..15b84a0f3b 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -878,14 +878,14 @@ static int write_manifest(AVForm

[FFmpeg-devel] [PATCH v2] avformat/dashenc: Support HTTP Persistent for master.m3u8 as well

2018-10-17 Thread Karthick J
--- libavformat/dashenc.c | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index 3f5f290e25..15b84a0f3b 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -878,14 +878,14 @@ static int write_manifest(AVForm

[FFmpeg-devel] [PATCH] avformat/dashenc: Support HTTP Persistent for master.mu8 as well

2018-10-17 Thread Karthick J
--- libavformat/dashenc.c | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index 3f5f290e25..15b84a0f3b 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -878,14 +878,14 @@ static int write_manifest(AVForm

[FFmpeg-devel] [PATCH v2] avdevice/decklink: Add option to align Capture start time

2018-09-28 Thread Karthick J
From: Karthick Jeyapal This option is useful for maintaining input synchronization across N different hardware devices deployed for 'N-way' redundancy. The system time of different hardware devices should be synchronized with protocols such as NTP or PTP, before using this option. --- doc/indevs

[FFmpeg-devel] [PATCH] avdevice/decklink: Add option to align Capture start time

2018-09-24 Thread Karthick J
From: Karthick Jeyapal This option is useful for maintaining input synchronization across N different hardware devices deployed for 'N-way' redundancy. The system time of different hardware devices should be synchronized with protocols such as NTP or PTP, before using this option. --- doc/indevs

[FFmpeg-devel] [PATCH v2 1/2] avformat/dashenc: Format VP9 level as decimal instead of hexadecimal

2018-09-17 Thread Karthick J
From: Karthick Jeyapal Commit ID 63c69d51c7532fb6c2460076329b50ec51a0f290 fixed the bug in vpcc, get_vp9_level() function, causing this change. --- libavformat/dashenc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index 9a333

[FFmpeg-devel] [PATCH v2 2/2] avformat/dashenc: Format VP9 bitdepth as decimal instead of Hexadecimal

2018-09-17 Thread Karthick J
From: Karthick Jeyapal For example bitdepth should be printed as 10 instead of 0A. Thanks to Hendrik Leppkes for pointing this out --- libavformat/dashenc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index f429ebc..1a201c3 1

[FFmpeg-devel] [PATCH] avformat/dashenc: Format VP9 level as decimal instead of hexadecimal

2018-09-17 Thread Karthick J
From: Karthick Jeyapal Commit ID 63c69d51c7532fb6c2460076329b50ec51a0f290 fixed the bug in vpcc, get_vp9_level() function, causing this change. --- libavformat/dashenc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index 9a333

[FFmpeg-devel] [PATCH] avformat/dashenc: Reduce Muxing overhead for chunked CMAF format

2018-09-14 Thread Karthick J
From: Karthick Jeyapal SIDX atom being inserted for every MOOF atom increases the muxing overhead. This behaviour can be disabled for chunked CMAF format by enabling Global SIDX option of mov muxer. --- libavformat/dashenc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/li

[FFmpeg-devel] [PATCH v2 1/2] avformat/dashenc: Add CODECS tag to HLS master playlist

2018-09-04 Thread Karthick J
From: Karthick Jeyapal --- libavformat/dashenc.c | 13 - 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index ae57fd5..c36ab12 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -864,6 +864,7 @@ static int wr

[FFmpeg-devel] [PATCH v2 2/2] avformat/dashenc: Remove muxer overhead from Bandwidth field in DASH manifest

2018-09-04 Thread Karthick J
From: Karthick Jeyapal Fixes bug id #7386 Muxer overhead calculations was intented for HLS playlist as Apple's mediastreamvalidator tests were failing. But applying the same fix for DASH manifest proved counterproductive, as Bandwidth can be used for segment name templates. --- libavformat/das

[FFmpeg-devel] [PATCH] avformat/dashenc: Add CODECS tag to HLS master playlist

2018-08-21 Thread Karthick J
From: Karthick Jeyapal --- libavformat/dashenc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index ae57fd5..229a56e 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -909,7 +909,8 @@ static int write_manifest

[FFmpeg-devel] [PATCH v2 2/2] avformat/dashenc: Added a warning for incorrect segment name extension

2018-05-13 Thread Karthick J
From: Karthick Jeyapal Applicable only to webm output format. By default all the segment filenames end with .m4s extension. When someone chooses webm output format, we recommend they also override the relevant segment name options to end with .webm extension. This patch will issue a warning for

[FFmpeg-devel] [PATCH v2 1/2] avformat/dashenc: Added option for Segment file format

2018-05-13 Thread Karthick J
From: Karthick Jeyapal Right now segment file format is chosen to be either mp4 or webm based on the codec format. This patch makes that choice configurable by the user, instead of being decided by the muxer. Also with this change per-stream choice segment file format(based on codec type) is

[FFmpeg-devel] [PATCH] avformat/dashenc: Add documentation for http method option

2018-05-06 Thread Karthick J
From: Karthick Jeyapal --- doc/muxers.texi | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/muxers.texi b/doc/muxers.texi index 2429f8e..ea80296 100644 --- a/doc/muxers.texi +++ b/doc/muxers.texi @@ -252,6 +252,8 @@ DASH-templated name to used for the initialization segment. Default is

[FFmpeg-devel] [PATCH 1/2] avformat/dashenc: Added option for Segment file format

2018-05-03 Thread Karthick J
From: Karthick Jeyapal Right now segment file format is chosen to be either mp4 or webm based on the codec format. This patch makes that choice configurable by the user, instead of being decided by the muxer. --- doc/muxers.texi | 8 libavformat/dashenc.c | 48 +

[FFmpeg-devel] [PATCH 2/2] avformat/dashenc: Added a warning for incorrect segment name extension

2018-05-03 Thread Karthick J
From: Karthick Jeyapal Applicable only to webm output format. By default all the segment filenames end with .m4s extension. When someone chooses webm output format, we recommend they also override the relevant segment name options to end with .webm extension. This patch will issue a warning for

[FFmpeg-devel] [PATCH v2 3/3] avformat/dashenc: Set mp4 as the default format for VP9

2018-04-22 Thread Karthick J
From: Karthick Jeyapal There is a separate muxer(webmdashenc.c) for supporting VP9+webm output in DASH. Hence in this muxer we will focus on supporting VP9 in MP4 Have verified playout support of VP9+MP4 in Chrome and Firefox. --- libavformat/dashenc.c | 3 +-- 1 file changed, 1 insertion(+), 2

[FFmpeg-devel] [PATCH v2 1/3] avformat/vpcc: Calculate VP9 level from Luma's Sample rate and Picture size

2018-04-22 Thread Karthick J
From: Karthick Jeyapal --- libavformat/vpcc.c | 53 ++--- libavformat/vpcc.h | 2 +- 2 files changed, 51 insertions(+), 4 deletions(-) diff --git a/libavformat/vpcc.c b/libavformat/vpcc.c index 66d0df6..7951448 100644 --- a/libavformat/vpcc.c +++

[FFmpeg-devel] [PATCH v2 2/3] avformat/dashenc: Set VP9 codec string with profile, level and bitdepth

2018-04-22 Thread Karthick J
From: Karthick Jeyapal Otherwise some versions of chrome browser returns "codec not supported" error --- libavformat/dashenc.c | 34 -- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index fefe3ce..a5f5

[FFmpeg-devel] [PATCH 2/2] avformat/dashenc: Set mp4 as the default format for VP9

2018-04-18 Thread Karthick J
From: Karthick Jeyapal There is a separate muxer(webmdashenc.c) for supporting VP9+webm output in DASH. Hence in this muxer we will focus on supporting VP9 in MP4 Have verified playout support of VP9+MP4 in Chrome and Firefox. --- libavformat/dashenc.c | 3 +-- 1 file changed, 1 insertion(+), 2

[FFmpeg-devel] [PATCH 1/2] avformat/dashenc: Set VP9 codec string with profile, level and bitdepth

2018-04-18 Thread Karthick J
From: Karthick Jeyapal Otherwise some versions of chrome browser returns "codec not supported" error --- libavformat/dashenc.c | 79 ++- 1 file changed, 78 insertions(+), 1 deletion(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c ind

[FFmpeg-devel] [PATCH] avformat/dashenc: Removed usage of deprecated 'filename' variable

2018-02-23 Thread Karthick J
From: Karthick Jeyapal --- libavformat/dashenc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index d6474f3..ebff3c5 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -1307,7 +1307,7 @@ static int dash_write_pac

[FFmpeg-devel] [PATCH] MAINTAINERS: Adding myself as dashenc maintainer

2018-01-20 Thread Karthick J
From: Karthick Jeyapal If somebody else wants to maintain dashenc either now or in future, I am absolutely fine with giving up this responsibility anytime. But till then we need a maintainer for dashenc, and I am volunteering for that task. --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+)

[FFmpeg-devel] [PATCH v2 1/2] avformat/dashenc: Fix a resource leak when http persistent in enabled

2018-01-02 Thread Karthick J
From: Karthick Jeyapal --- libavformat/dashenc.c | 4 1 file changed, 4 insertions(+) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index 3345b89..2e4ff67 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -1,6 +1,7 @@ /* * MPEG-DASH ISO BMFF segmenter * Co

[FFmpeg-devel] [PATCH v2 2/2] avformat/dashenc: Signal http end of chunk(http_shutdown) explicitly

2018-01-02 Thread Karthick J
From: Karthick Jeyapal 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. --- libavformat/dashenc.c

[FFmpeg-devel] [PATCH 2/2] avformat/dashenc: Signal http end of chunk(http_shutdown) explicitly

2018-01-01 Thread Karthick J
From: Karthick Jeyapal 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. --- libavformat/dashenc.c

[FFmpeg-devel] [PATCH 1/2] avformat/dashenc: Fix a resource leak when http persistent in enabled

2018-01-01 Thread Karthick J
From: Karthick Jeyapal --- libavformat/dashenc.c | 11 +++ 1 file changed, 11 insertions(+) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index 3345b89..c4c112b 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -1,6 +1,7 @@ /* * MPEG-DASH ISO BMFF segment

[FFmpeg-devel] [PATCH v3] avformat/hlsenc: Add CODECS attribute to master playlist

2017-12-28 Thread Karthick J
From: Karthick Jeyapal --- libavformat/dashenc.c | 2 +- libavformat/hlsenc.c | 67 ++- libavformat/hlsplaylist.c | 5 +++- libavformat/hlsplaylist.h | 3 ++- 4 files changed, 73 insertions(+), 4 deletions(-) diff --git a/libavformat/dashe

[FFmpeg-devel] [PATCH v2] avformat/hlsenc: Add CODECS attribute to master playlist

2017-12-28 Thread Karthick J
From: Karthick Jeyapal --- libavformat/dashenc.c | 2 +- libavformat/hlsenc.c | 67 ++- libavformat/hlsplaylist.c | 5 +++- libavformat/hlsplaylist.h | 3 ++- 4 files changed, 73 insertions(+), 4 deletions(-) diff --git a/libavformat/dashe

[FFmpeg-devel] [PATCH] avformat/hlsenc: Add CODECS attribute to master playlist

2017-12-28 Thread Karthick J
From: Karthick Jeyapal --- libavformat/dashenc.c | 2 +- libavformat/hlsenc.c | 67 ++- libavformat/hlsplaylist.c | 5 +++- libavformat/hlsplaylist.h | 3 ++- 4 files changed, 73 insertions(+), 4 deletions(-) diff --git a/libavformat/dashe

[FFmpeg-devel] [PATCH 3/3] avformat/dashenc: Addition of #EXT-X-MEDIA tag and AUDIO attribute

2017-12-26 Thread Karthick J
From: Karthick Jeyapal This is required for AV playout from master.m3u8. Otherwise master.m3u8 lists only video-only and/or audio-only streams. --- libavformat/dashenc.c | 24 ++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/libavformat/dashenc.c b/libavfor

[FFmpeg-devel] [PATCH 1/3] avformat/hlsenc: Modularized audio rendition playlist write to allow reuse

2017-12-26 Thread Karthick J
From: Karthick Jeyapal --- libavformat/hlsenc.c | 6 ++ libavformat/hlsplaylist.c | 9 + libavformat/hlsplaylist.h | 1 + 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index 74f66ce..fe531fb 100644 --- a/libavformat/h

[FFmpeg-devel] [PATCH 2/3] avformat/hlsplaylist: Audio rendition's name and defaultness made configurable

2017-12-26 Thread Karthick J
From: Karthick Jeyapal --- libavformat/hlsenc.c | 2 +- libavformat/hlsplaylist.c | 5 +++-- libavformat/hlsplaylist.h | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index fe531fb..5cff3b4 100644 --- a/libavformat/hlsenc.c

[FFmpeg-devel] [PATCH v2 2/2] avformat/hlsenc: Signal http end of chunk(http_shutdown) during hlsenc_io_close()

2017-12-22 Thread Karthick J
From: Karthick Jeyapal Currently http end of chunk is signalled implicitly in hlsenc_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. --- libavformat/hlsenc.c |

[FFmpeg-devel] [PATCH v2 1/2] avformat/http: Avoid calling http_shutdown() if end of chunk is signalled already

2017-12-22 Thread Karthick J
From: Karthick Jeyapal --- libavformat/http.c | 8 +--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/libavformat/http.c b/libavformat/http.c index cf86adc..4635a9a 100644 --- a/libavformat/http.c +++ b/libavformat/http.c @@ -307,9 +307,11 @@ int ff_http_do_new_request(URLCon

[FFmpeg-devel] [PATCH 1/2] avformat/http: Added a library-internal API for signalling end of chunk

2017-12-21 Thread Karthick J
From: Karthick Jeyapal Right now there is no explicit way to signal end of chunk, when http_multiple is set. ff_http_do_new_request() function implicitly signals end of chunk. But that could be too late for certain applications. Hence added a new function ff_http_signal_end_of_chunk() which cou

[FFmpeg-devel] [PATCH 2/2] avformat/hlsenc: Signal http end of chunk explicitly during hlsenc_io_close()

2017-12-21 Thread Karthick J
From: Karthick Jeyapal Currently http end of chunk is called implicitly in hlsenc_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. --- libavformat/hlsenc.c | 5 +

[FFmpeg-devel] [PATCH 1/2] avformat/dashenc: Fix the EXT-X-TARGETDURATION as per the hls specification

2017-12-21 Thread Karthick J
From: Karthick Jeyapal The HLS specification states the following about EXT-X-TARGETDURATION 4.3.3.1. EXT-X-TARGETDURATION The EXT-X-TARGETDURATION tag specifies the maximum Media Segment duration. The EXTINF duration of each Media Segment in the Playlist file, when rounded to the ne

[FFmpeg-devel] [PATCH 2/2] avformat/hlsenc: Moved hls_get_int_from_double() function locally to hlsenc.c

2017-12-21 Thread Karthick J
From: Karthick Jeyapal dashenc no longer needs this function. --- libavformat/hlsenc.c | 5 + libavformat/hlsplaylist.h | 5 - 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index 29fc1d4..14a9a12 100644 --- a/libavformat/h

[FFmpeg-devel] [PATCH] avformat/dashenc: Fix the EXT-X-TARGETDURATION as per the hls specification

2017-12-21 Thread Karthick J
From: Karthick Jeyapal The HLS specification states the following about EXT-X-TARGETDURATION 4.3.3.1. EXT-X-TARGETDURATION The EXT-X-TARGETDURATION tag specifies the maximum Media Segment duration. The EXTINF duration of each Media Segment in the Playlist file, when rounded to the ne

[FFmpeg-devel] [PATCH] avformat/hlsenc: Fix a memory leak when http_persistent is 1

2017-12-18 Thread Karthick J
From: Karthick Jeyapal --- libavformat/hlsenc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index e3442c3..5ee28ea 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@ -1918,6 +1918,8 @@ static int hls_write_trailer(struct AVFormat

[FFmpeg-devel] [PATCH v2 2/2] avformat/dashenc: Persistent HTTP connections supported as an option

2017-12-16 Thread Karthick J
From: Karthick Jeyapal --- doc/muxers.texi | 2 ++ libavformat/dashenc.c | 67 +-- 2 files changed, 56 insertions(+), 13 deletions(-) diff --git a/doc/muxers.texi b/doc/muxers.texi index 3d0c7bf..d6415db 100644 --- a/doc/muxers.texi +++ b/d

[FFmpeg-devel] [PATCH v2 1/2] avformat/hlsenc, utils: Moved is_http_proto from hlsenc to utils for re-use

2017-12-16 Thread Karthick J
From: Karthick Jeyapal --- libavformat/hlsenc.c | 12 +++- libavformat/internal.h | 8 libavformat/utils.c| 5 + 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index e3442c3..03d54c7 100644 --- a/libavforma

[FFmpeg-devel] [PATCH 2/2] avformat/dashenc: Persistent HTTP connections supported as an option

2017-12-15 Thread Karthick J
From: Karthick Jeyapal --- libavformat/dashenc.c | 67 +-- 1 file changed, 54 insertions(+), 13 deletions(-) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index 5687530..e7d1a0d 100644 --- a/libavformat/dashenc.c +++ b/libavformat/das

[FFmpeg-devel] [PATCH 1/2] avformat/hlsenc, utils: Moved is_http_proto from hlsenc to utils for re-use

2017-12-15 Thread Karthick J
From: Karthick Jeyapal --- libavformat/hlsenc.c | 12 +++- libavformat/internal.h | 8 libavformat/utils.c| 5 + 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index e3442c3..03d54c7 100644 --- a/libavforma

[FFmpeg-devel] [PATCH] avformat/hlsenc: Minor fix for persistent http connection of init fmp4

2017-12-15 Thread Karthick J
From: Karthick Jeyapal --- libavformat/hlsenc.c | 1 - 1 file changed, 1 deletion(-) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index fdf614b..0e2f412 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@ -1787,7 +1787,6 @@ static int hls_write_packet(AVFormatContext *s,

[FFmpeg-devel] [PATCH v2 2/3] avformat/hlsenc: Handle NULL input in IO open and close utility functions

2017-12-14 Thread Karthick J
From: Karthick Jeyapal --- libavformat/hlsenc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index 30d0285..af9d949 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@ -246,7 +246,7 @@ static int is_http_proto(cha

[FFmpeg-devel] [PATCH v2 3/3] avformat/hlsenc: Extend persistent http connections to playlists

2017-12-14 Thread Karthick J
From: Karthick Jeyapal Before this patch persistent http connections would work only for media segments. The playlists were still opening a new connection everytime. This patch extends persistent http connections to playlists as well. --- libavformat/hlsenc.c | 56 +-

[FFmpeg-devel] [PATCH v2 1/3] avformat/hlsenc: Call avio_flush during persistent http connections

2017-12-14 Thread Karthick J
From: Karthick Jeyapal Since close is not called, during http persistent connection, flush needs to be called so that output is written on time. --- libavformat/hlsenc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index fdf614b..30d0285 10064

[FFmpeg-devel] [PATCH 3/3] avformat/hlsenc: Extend persistent http connections to playlists

2017-11-30 Thread Karthick J
From: Karthick Jeyapal Before this patch persistent http connections would work only for media segments. The playlists were still opening a new connection everytime. This patch extends persistent http connections to playlists as well. --- libavformat/hlsenc.c | 46 ++

[FFmpeg-devel] [PATCH 1/3] avformat/hlsenc: Call avio_flush during persistent http connections

2017-11-30 Thread Karthick J
From: Karthick Jeyapal Since close is not called, during http persistent connection, flush needs to be called so that output is written on time. --- libavformat/hlsenc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index cdfbf45..9048cb2 10064

[FFmpeg-devel] [PATCH 2/3] avformat/hlsenc: Handle NULL input in IO open and close utility functions

2017-11-30 Thread Karthick J
From: Karthick Jeyapal --- libavformat/hlsenc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index 9048cb2..ff982c5 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@ -244,7 +244,7 @@ static int is_http_proto(cha

[FFmpeg-devel] [PATCH v2 2/2] avformat/dashenc: Option to generate hls playlist as well

2017-11-29 Thread Karthick J
This is to take full advantage of Common Media Application Format. Now server can generate one content and serve both HLS and DASH players. --- doc/muxers.texi | 3 ++ libavformat/Makefile | 2 +- libavformat/dashenc.c | 110 +++--- 3 files ch

[FFmpeg-devel] [PATCH v2 1/2] avformat/hlsenc: Refactored 'get_int_from_double' function to allow reuse

2017-11-29 Thread Karthick J
From: Karthick Jeyapal --- libavformat/hlsenc.c | 7 +-- libavformat/hlsplaylist.h | 5 + 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index f63b08d..cdfbf45 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@

[FFmpeg-devel] [PATCH 1/2] avformat/hlsenc: Refactored 'get_int_from_double' function to allow reuse

2017-11-29 Thread Karthick J
From: Karthick Jeyapal --- libavformat/hlsenc.c | 7 +-- libavformat/hlsplaylist.h | 5 + 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index f63b08d..cdfbf45 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@

[FFmpeg-devel] [PATCH 2/2] avformat/dashenc: Option to generate hls playlist as well

2017-11-29 Thread Karthick J
This is to take full advantage of Common Media Application Format. Now server can generate one content and serve both HLS and DASH players. --- doc/muxers.texi | 3 ++ libavformat/Makefile | 2 +- libavformat/dashenc.c | 103 -- 3 files ch

[FFmpeg-devel] [PATCH v6 2/2] avformat/dashenc: Option to generate hls playlist as well

2017-11-29 Thread Karthick J
This is to take full advantage of Common Media Application Format. Now server can generate one content and serve both HLS and DASH players. --- doc/muxers.texi | 3 ++ libavformat/Makefile | 2 +- libavformat/dashenc.c | 103 -- 3 files ch

[FFmpeg-devel] [PATCH v6 1/2] avformat/hlsenc: Modularized playlist creation to allow reuse

2017-11-29 Thread Karthick J
--- libavformat/Makefile | 2 +- libavformat/hlsenc.c | 115 +++--- libavformat/hlsplaylist.c | 138 ++ libavformat/hlsplaylist.h | 51 + 4 files changed, 211 insertions(+), 95 deletions(-) cr

[FFmpeg-devel] [PATCH v3 3/3] libavformat/hlsenc: Persistent HTTP connections supported as an option

2017-11-28 Thread Karthick J
--- doc/muxers.texi | 3 +++ libavformat/hlsenc.c | 48 +--- 2 files changed, 44 insertions(+), 7 deletions(-) diff --git a/doc/muxers.texi b/doc/muxers.texi index 9d9ca31..8ec48c2 100644 --- a/doc/muxers.texi +++ b/doc/muxers.texi @@ -854,6 +854,

[FFmpeg-devel] [PATCH v3 2/3] libavformat/http: Handled multiple_requests option during write

2017-11-28 Thread Karthick J
--- libavformat/http.c | 6 ++ 1 file changed, 6 insertions(+) diff --git a/libavformat/http.c b/libavformat/http.c index 056d5f6..cf86adc 100644 --- a/libavformat/http.c +++ b/libavformat/http.c @@ -171,6 +171,7 @@ static int http_connect(URLContext *h, const char *path, const char *local_p

[FFmpeg-devel] [PATCH v3 1/3] libavformat/avio: Utility function to return URLContext

2017-11-28 Thread Karthick J
--- libavformat/avio_internal.h | 8 libavformat/aviobuf.c | 13 + 2 files changed, 21 insertions(+) diff --git a/libavformat/avio_internal.h b/libavformat/avio_internal.h index c01835d..04c1ad5 100644 --- a/libavformat/avio_internal.h +++ b/libavformat/avio_internal.h

  1   2   >