Karthick Jeyapal
8fd2bdd072
avformat/hlsplaylist: Audio rendition's name and defaultness made configurable
...
Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
7 years ago
Karthick Jeyapal
9e25fe4204
avformat/hlsenc: Modularized audio rendition playlist write to allow reuse
...
Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
7 years ago
Steven Liu
2aee5a8723
avformat/hlsenc: fix resource leak
...
fix CID: 1426931 1426929
7 years ago
Karthick Jeyapal
be2da4c522
avformat/hlsenc: Signal http end of chunk(http_shutdown) during hlsenc_io_close()
...
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.
7 years ago
Vishwanath Dixit
d02289c386
avformat/hlsenc:addition of #EXT-X-MEDIA tag and AUDIO attribute
...
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
7 years ago
Karthick J
93a0e47876
avformat/hlsenc: set EXT-X-TARGETDURATION use lrint(EXTINF)
7 years ago
Karthick J
3ac76d890d
avformat/hlsenc: Fix a memory leak when http_persistent is 1
...
Reviewed-by: Steven Liu <lq@onvideo.cn>
7 years ago
Steven Liu
7feae7be5b
avformat/hlsenc: reindent after previous commits
...
Reviewed-by: Karthick J <kjeyapal@akamai.com>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
7 years ago
Steven Liu
8318f60845
avformat/hlsenc: fix first fragment mp4 do not split bug
...
fix ticket id: 6888
Tested-by: beloko <beloko@gmail.com>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
7 years ago
Karthick J
b2d27d912b
avformat/hlsenc: Extend persistent http connections to playlists
...
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.
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
7 years ago
Karthick J
6ae18228cd
avformat/hlsenc: Handle NULL input in IO open and close utility functions
...
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
7 years ago
Karthick J
deceb7d9ae
avformat/hlsenc: Call avio_flush during persistent http connections
...
Since close is not called, during http persistent connection,
flush needs to be called so that output is written on time.
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
7 years ago
Steven Liu
0e5260226a
avformat/hlsenc: reindent after previous commits
7 years ago
Steven Liu
08d28ee182
avformat/hlsenc: move init operations from write_header to init
...
Reviewed-by: Vishwanath Dixit <vdixit@akamai.com>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
7 years ago
Steven Liu
d67c1dda40
avformat/hlsenc: fix compiling error when disable-network
7 years ago
Steven Liu
071f47649c
avformat/hlsplaylist: add int type of API ff_hls_write_file_entry
...
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
7 years ago
Robert Nagy
31b351ea81
avformat/hlsenc: fix baseurl missing last char
...
Reviewed-by: Steven Liu <lq@onvideo.cn>
7 years ago
Karthick J
3684b5e56a
avformat/hlsenc: Refactored 'get_int_from_double' function to allow reuse
7 years ago
Karthick J
da49cdf640
avformat/hlsenc: Modularized playlist creation to allow reuse
7 years ago
Jeyapal, Karthick
815e34b5b4
libavformat/hlsenc: Persistent HTTP connections supported as an option
7 years ago
Karthick J
d5d2632e3a
avformat/hlsenc: Fixed initial setting for end_pts
...
This patch fixes Bug #6868
Sometimes end_pts is getting initialized to audio stream's
first pts, while the duration is calculated based on video stream's pts.
In this patch the end_pts is initialized with the correct stream's first pts.
Reviewed-by: Steven Liu <lq@onvideo.cn>
Tested-by: beloko
7 years ago
Karthick J
efb51c8ebb
avformat/hlsenc: Added option to add EXT-X-INDEPENDENT-SEGMENTS tag
7 years ago
Karthick J
241c1192d6
avformat/hlsenc: Refactor an inconsistent variable name
7 years ago
Karthick J
f335efc0ad
avformat/hlsenc: Minor fix in setting http options for master playlist
7 years ago
Steven Liu
25aff9d820
avformat/hlsenc: use FFABS to instead of abs
...
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
7 years ago
Vishwanath Dixit
77ab1d7bae
avformat/hlsenc: creation of hls master playlist file
...
Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
7 years ago
Vishwanath Dixit
92a32d0747
avformat/hlsenc: creation of hls variant streams in a single hlsenc instance
...
Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
7 years ago
Steven Liu
880b299381
avformat/hlsenc: write fmp4 init header after first AV frame
...
fix ticket id: 6825
Signed-off-by: Steven Liu <lq@onvideo.cn>
Tested-by: Aman Gupta <aman@tmm1.net>
7 years ago
Timo Rothenpieler
3ee63f3fb7
avformat/hlsenc: allocate space for terminating null
...
Fixes CID #1420394
7 years ago
Steven Liu
c7360512c2
avformat/hlsenc: reindent hlsenc code
...
Signed-off-by: Steven Liu <lq@onvideo.cn>
7 years ago
Steven Liu
c52beb4839
avformat/hlsenc: check hls segment mode for ignore the init filename
...
ignore the fmp4_init_filename when in normal hls segment mode
Signed-off-by: Steven Liu <lq@onvideo.cn>
7 years ago
Steven Liu
073986c5ae
avformat/hlsenc: reindent hlsenc code
...
Signed-off-by: Steven Liu <lq@onvideo.cn>
7 years ago
Steven Liu
c3e279e752
avformat/hlsenc: fix missing first segment bug in fmp4 mode
...
fix ticket id: #6776
fix code logic error, need not check first segment.
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
7 years ago
Steven Liu
f520830761
avformat/hlsenc: fix base_output_dirname is null when basename_size is 0 bug
...
fix ticket id: #6777
when use argument hls_segment_filename, the basename_size will be 0
Signed-off-by: Steven Liu <lq@onvideo.cn>
7 years ago
Steven Liu
c34c0e3a64
avformat/hlsenc: support http method for hls fmp4 init file
...
Signed-off-by: Steven Liu <lq@onvideo.cn>
7 years ago
Steven Liu
7e9cdd3f49
avformat/hlsenc: fix CID 1418106
...
fix the "Uninitialized scalar variable (UNINIT)" problem.
Signed-off-by: Steven Liu <lq@onvideo.cn>
7 years ago
Aman Gupta
73bf0f42e3
avformat/hlsenc: fix segfault when using -hls_segment_type fmp4 with -hls_segment_filename
...
previously, specifying -hls_segment_filename meant
s->base_output_dirname was never set, causing a segfault:
(lldb) bt
* thread #1 , queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0)
* frame #0 : 0x00007fffbf7d82d0 libsystem_platform.dylib`_platform_strcmp + 80
frame #1 : 0x00000001005f4dcf libavformat.57.dylib`io_open_default(s=0x000000010481cc00, pb=0x0000000104806020, url=0x0000000000000000, flags=2, options=0x0000000000000000) at options.c:107
frame #2 : 0x0000000100528968 libavformat.57.dylib`hls_mux_init(s=0x000000010481cc00) at hlsenc.c:595
frame #3 : 0x00000001005273cb libavformat.57.dylib`hls_write_header(s=0x000000010481cc00) at hlsenc.c:1518
frame #4 : 0x00000001005c08d0 libavformat.57.dylib`write_header_internal(s=0x000000010481cc00) at mux.c:486
frame #5 : 0x00000001005c0774 libavformat.57.dylib`avformat_write_header(s=0x000000010481cc00, options=0x00000001029026e8) at mux.c:539
7 years ago
Karthick J
837c55e072
avformat/hlsenc: Added configuration to override HTTP User-Agent
...
Signed-off-by: Karthick J <kjeyapal@akamai.com>
Signed-off-by: Steven Liu <lq@onvideo.cn>
7 years ago
Steven Liu
20a6b198b4
avformat/hlsenc: move free fmp4_init_filename after hls_window operation
...
fix ticket id: 6599
Signed-off-by: Steven Liu <lq@onvideo.cn>
7 years ago
DeHackEd
eabeb9093a
avformat/hlsenc: allow dynamic encryption key rotation
...
Makes behaviour of 805ce25b1d
optional, re-enables
HLS key rotation feature
Reviewed-by: Steven Liu <lq@onvideo.cn>
Signed-off-by: DHE <git@dehacked.net>
7 years ago
Steven Liu
738b29cfb6
avformat/hlsenc: support fmp4 single file mode
...
add byterange mode of the hls fmp4
Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Steven Liu <lq@onvideo.cn>
7 years ago
Steven Liu
805ce25b1d
avformat/hlsenc: improve hls encrypt get key file operation
...
get key file only once time is ok, no need more times.
Ticket-id: #6545
Found-by: JohnPi
Signed-off-by: Steven Liu <lq@onvideo.cn>
7 years ago
Steven Liu
f21457f8e0
avformat/hlsenc: fix hls fmp4 extention name bug
...
ticket-id: #6541
when use hls fmp4 muxer, the extention name is not .m4s, this
code can fix it.
Found-by: JohnPi
Signed-off-by: Steven Liu <lq@onvideo.cn>
7 years ago
Derek Buitenhuis
2d417076a2
avformat/hlsenc: Add missing error check
...
Reviewed-by: Steven Liu <lq@onvideo.cn>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
7 years ago
Steven Liu
23e21130bb
avformat/hlsenc: add warn message when use both fmp4 and single_file
...
have not implementation the fmp4 single file yet before this commit.
Suggested-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Steven Liu <lq@onvideo.cn>
7 years ago
Steven Liu
1fe40e73a6
avformat/hlsenc: copy codec_tag when stream copy
...
when use fmp4 segment type in hls and use codec copy,
there have an error message.
error message:
[mp4 @ 0x25df020] Tag avc1 incompatible with output codec id '28' ([33][0][0][0])
[hls @ 0x2615c80] Some of the provided format options in '(null)' are not recognized
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
this patch can fix it.
Signed-off-by: Liu Qi <w_liuqi@kingsoft.com>
Signed-off-by: Steven Liu <lq@onvideo.cn>
7 years ago
Steven Liu
d01b8f8683
avformat/hlsenc: optimize help message default value.
...
show the hls_segment_type default always 0, show the flag name better
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
7 years ago
Steven Liu
274bd1670b
avfomat/hlsenc: support fmp4 format in hls
...
add the fmp4 format into hlsenc
because the fmp4 format add into hls from version 7.
the spec link is:
https://tools.ietf.org/html/draft-pantos-http-live-streaming-20
and the describe on WWDC
https://developer.apple.com/videos/play/wwdc2017/515/
Signed-off-by: Steven Liu <lq@onvideo.cn>
7 years ago
Steven Liu
3996ae9302
avformat/hlsenc: donnot show duplicate segment warning at byterange mode
...
When the hlsenc at BYTERANGE mode, it should not show the warning message:
"Duplicated segment filename detected:"
Reported-by: Marco <marco@worldcast.com>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
8 years ago
Luca Barbato
16cb06bb30
hlsenc: Support recovery from an already present playlist
...
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.
8 years ago