Steven Liu
aa294ad00a
avformat/hlsenc: add reference stream index for split segment
...
fix ticket: #7044
Get the first video stream to reference for split segment
when there have more than one video stream
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
Reviewed-by: Karthick Jeyapal <kjeyapal@akamai.com>
2018-03-02 10:56:36 +08:00
Bela Bodecs
85e6a33bdf
hlsenc: Fixing HLS_TEMP_FILE usage with HLS_SECOND_LEVEL_SEGMENT_...
...
Currently using HLS_TEMP together with HLS_SECOND_LEVEL_SEGMENT_DURATION
or HLS_SECOND_LEVEL_SEGMENT_SIZE gives error at end of each segment
writing and the final segment file names do not contain the desired
data. This patch fixes this bug by delaying the initilization of
original segment filename after actual temp file renaming will skip the
interfering.
Signed-off-by: Bela Bodecs <bodecsb@vivanet.hu>
2018-02-23 21:36:11 +08:00
Marton Balint
45ec2e44be
avformat/hls: migrate to AVFormatContext->url
...
Signed-off-by: Marton Balint <cus@passwd.hu>
2018-01-28 23:06:43 +01:00
Marton Balint
dc5d151568
avformat/hlsenc: use av_bprintf without buffer limit in replace_int_data_in_filename
...
In preparation for the deprecation of AVFormatContext->filename.
Signed-off-by: Marton Balint <cus@passwd.hu>
2018-01-28 23:06:43 +01:00
Vishwanath Dixit
1948b76a1b
avformat/hlsenc: closed caption tags in the master playlist
2018-01-24 11:42:57 +08:00
Brendan McGrath
2472dbc7a7
avformat/hlsenc: Check that data is set
...
If codecpar->extradata is not set (for example, when the stream goes
through the 'tee' muxer), then a segfault occurs.
This patch ensures the data variable is not null before attempting
to access it
Before the var_stream_map option was available - I was using the tee
muxer to create each resolution as an individual stream.
When running this configuration after the most recent hlsenc change
I hit a segfault
The most simple command which recreates the segfault is:
ffmpeg -i in.ts -map 0:a -map 0:v -c:a aac -c:v h264 -f tee [select=\'a,v\':f=hls]tv_hls_hd.m3u8
Signed-off-by: Brendan McGrath <redmcg@redmandi.dyndns.org>
2018-01-21 13:16:42 +08:00
Karthick Jeyapal
0afa171f25
avformat/hlsenc: Add CODECS attribute to master playlist
2018-01-19 17:03:09 +08:00
Vishwanath Dixit
41e51fbcd9
avformat/hlsenc: creation of variant streams in subdirectories
...
Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
2018-01-02 10:46:48 +08:00
Vishwanath Dixit
e872befdb5
avformat/hlsenc: configurable variant stream index position in filenames
2018-01-02 10:46:17 +08:00
Vishwanath Dixit
26e1efb04f
avformat/hlsenc: revamped master playlist url creation logic
2018-01-02 10:45:28 +08:00
Karthick Jeyapal
e8f71ef338
avformat/hlsenc, utils: Moved is_http_proto from hlsenc to utils for re-use
...
Reviewed-by: Aman Gupta <aman@tmm1.net>
Reviewed-by: Steven Liu <lq@onvideo.cn>
2017-12-29 18:11:09 +08:00
Karthick Jeyapal
8fd2bdd072
avformat/hlsplaylist: Audio rendition's name and defaultness made configurable
...
Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
2017-12-29 13:47:12 +08:00
Karthick Jeyapal
9e25fe4204
avformat/hlsenc: Modularized audio rendition playlist write to allow reuse
...
Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
2017-12-29 13:45:31 +08:00
Steven Liu
2aee5a8723
avformat/hlsenc: fix resource leak
...
fix CID: 1426931 1426929
2017-12-25 23:51:25 +08:00
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.
2017-12-25 12:08:06 +08:00
Vishwanath Dixit
d02289c386
avformat/hlsenc:addition of #EXT-X-MEDIA tag and AUDIO attribute
...
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2017-12-23 13:42:00 +08:00
Karthick J
93a0e47876
avformat/hlsenc: set EXT-X-TARGETDURATION use lrint(EXTINF)
2017-12-22 07:43:54 +08:00
Karthick J
3ac76d890d
avformat/hlsenc: Fix a memory leak when http_persistent is 1
...
Reviewed-by: Steven Liu <lq@onvideo.cn>
2017-12-21 11:39:24 +08:00
Steven Liu
7feae7be5b
avformat/hlsenc: reindent after previous commits
...
Reviewed-by: Karthick J <kjeyapal@akamai.com>
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2017-12-21 11:17:08 +08:00
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>
2017-12-21 11:14:32 +08:00
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>
2017-12-15 22:15:07 +08:00
Karthick J
6ae18228cd
avformat/hlsenc: Handle NULL input in IO open and close utility functions
...
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2017-12-15 22:14:54 +08:00
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>
2017-12-15 22:14:43 +08:00
Steven Liu
0e5260226a
avformat/hlsenc: reindent after previous commits
2017-12-12 11:50:23 +08:00
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>
2017-12-11 11:03:25 +08:00
Steven Liu
d67c1dda40
avformat/hlsenc: fix compiling error when disable-network
2017-12-04 23:52:17 +08:00
Steven Liu
071f47649c
avformat/hlsplaylist: add int type of API ff_hls_write_file_entry
...
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2017-12-04 12:03:37 +08:00
Robert Nagy
31b351ea81
avformat/hlsenc: fix baseurl missing last char
...
Reviewed-by: Steven Liu <lq@onvideo.cn>
2017-12-04 12:00:13 +08:00
Karthick J
3684b5e56a
avformat/hlsenc: Refactored 'get_int_from_double' function to allow reuse
2017-11-30 10:54:54 +08:00
Karthick J
da49cdf640
avformat/hlsenc: Modularized playlist creation to allow reuse
2017-11-29 19:44:15 +08:00
Jeyapal, Karthick
815e34b5b4
libavformat/hlsenc: Persistent HTTP connections supported as an option
2017-11-29 14:33:07 +08:00
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
2017-11-28 20:03:15 +08:00
Karthick J
efb51c8ebb
avformat/hlsenc: Added option to add EXT-X-INDEPENDENT-SEGMENTS tag
2017-11-24 06:57:36 +08:00
Karthick J
241c1192d6
avformat/hlsenc: Refactor an inconsistent variable name
2017-11-24 06:42:35 +08:00
Karthick J
f335efc0ad
avformat/hlsenc: Minor fix in setting http options for master playlist
2017-11-24 06:41:25 +08:00
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>
2017-11-20 10:51:57 +08:00
Vishwanath Dixit
77ab1d7bae
avformat/hlsenc: creation of hls master playlist file
...
Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
2017-11-20 10:04:34 +08:00
Vishwanath Dixit
92a32d0747
avformat/hlsenc: creation of hls variant streams in a single hlsenc instance
...
Reviewed-by: Steven Liu <lingjiujianke@gmail.com>
2017-11-20 10:02:11 +08:00
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>
2017-11-14 10:31:26 +08:00
Timo Rothenpieler
3ee63f3fb7
avformat/hlsenc: allocate space for terminating null
...
Fixes CID #1420394
2017-11-13 10:44:16 +08:00
Steven Liu
c7360512c2
avformat/hlsenc: reindent hlsenc code
...
Signed-off-by: Steven Liu <lq@onvideo.cn>
2017-11-02 22:30:06 +08:00
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>
2017-11-02 22:29:28 +08:00
Steven Liu
073986c5ae
avformat/hlsenc: reindent hlsenc code
...
Signed-off-by: Steven Liu <lq@onvideo.cn>
2017-10-29 12:32:24 +08:00
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>
2017-10-29 12:31:49 +08:00
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>
2017-10-29 12:30:44 +08:00
Steven Liu
c34c0e3a64
avformat/hlsenc: support http method for hls fmp4 init file
...
Signed-off-by: Steven Liu <lq@onvideo.cn>
2017-09-21 23:10:57 +08:00
Steven Liu
7e9cdd3f49
avformat/hlsenc: fix CID 1418106
...
fix the "Uninitialized scalar variable (UNINIT)" problem.
Signed-off-by: Steven Liu <lq@onvideo.cn>
2017-09-21 23:08:00 +08:00
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
2017-09-16 10:32:28 +08:00
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>
2017-09-05 23:30:52 +08:00
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>
2017-08-22 10:21:42 +08:00