Michael Niedermayer
66ae994c54
avformat/segment: re-interleave packets if needed
...
Fixes part of Ticket 3797
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-24 23:22:33 +02:00
Michael Niedermayer
351b22caae
avformat/mux: support re-interleaving packets in ff_write_chained()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-24 22:39:22 +02:00
Stefano Sabatini
44071b0d25
lavf/segment: sanitize segment end time in case last packet do not have a defined duration
...
In particular, avoids to set segments with duration set to 0
(e.g. segment with a single reference frame for which duration is
undefined).
2014-07-22 13:53:31 +02:00
Stefano Sabatini
713157484a
lavf/segment: do not allow to create segments with no key-frames
...
Fix trac ticket #3749 .
2014-07-22 13:43:06 +02:00
Stefano Sabatini
526bd7bdfa
lavf/segment: set segment end time when the first packet arrives
...
Avoid negative durations in case there is a single packet in the current
segment, since in that case the end time is still set to the previous
segment end time.
2014-07-17 16:51:51 +02:00
Stefano Sabatini
3d38c99041
lavf/segment: fix weird indent
2014-07-17 16:51:51 +02:00
Stefano Sabatini
b6a8c5245f
lavf/segment: show incoming packet duration in debug message
2014-07-17 16:51:51 +02:00
Stefano Sabatini
5acad50056
lavf/segment: only use reference frames for computing the segment end time
...
This avoids a systematic overestimate of the segments duration when there
are several streams.
Fix trac ticket #3724 .
2014-07-17 16:51:50 +02:00
Simon Thelen
fa6716c66d
libavformat/segment: change segment_list_size behavior to match hls_list_size behavior.
...
Make the segment muxer keep segment_list_size segments instead of
segment_list_size + 1 segments. This patch also changes the
documentation for segment_list_size to reduce possible confusion over
how many segments are kept.
this allows the segment list to
be limited to containing only one segment which used to be impossible
because a segment_list_size of 0 kept all the segments and a
segment_list_size of 1 kept 2 segments.
Signed-off-by: Simon Thelen <ffmpeg-dev@c-14.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 02:35:56 +02:00
Michael Niedermayer
7125b6ca90
avformat/segment: remove gettimeofday() use, remove sys/time.h
...
It causes portability issues, and would need ifdef hell if its kept
Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-08 22:52:39 +02:00
Michael Niedermayer
b8d017adba
avformat/segment: simplify localtime* use
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-07 22:57:36 +02:00
Deti fliegl
8cda23f341
avformat/segment: Support cutting at clocktime
...
Signed-off-by: Deti fliegl <fliegl@baycom.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-07 22:56:55 +02:00
Michael Niedermayer
1394e0a9e0
avformat/segment: Use av_malloc_array()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-05 23:11:04 +02:00
Michael Niedermayer
67979b5936
Merge commit '87a3ea3192bf5e4aafa08bca8686a2b577eae818'
...
* commit '87a3ea3192bf5e4aafa08bca8686a2b577eae818':
segment: Report the current media sequence
Conflicts:
libavformat/segment.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-30 20:14:50 +02:00
Luca Barbato
87a3ea3192
segment: Report the current media sequence
...
Useful for debugging mostly.
2014-04-30 17:52:03 +02:00
Michael Niedermayer
fd601ba6b1
Merge commit '5c08ae4f37281441188447cd04dcaf7cd7ce031f'
...
* commit '5c08ae4f37281441188447cd04dcaf7cd7ce031f':
segment: Add an option to prepend a string to the list entries
Conflicts:
doc/muxers.texi
libavformat/segment.c
See: 5e278c19c7
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-29 15:57:43 +02:00
Enrique Arizón Benito
5c08ae4f37
segment: Add an option to prepend a string to the list entries
...
Useful to generate lists with absolute urls.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-04-29 12:14:00 +02:00
Willy Aubry
65c95de213
avformat/HLS: modified EXT-X-MEDIA-SEQUENCE header in order to follow the HLS standard
...
When using the wrap option the EXT-X-MEDIA-SEQUENCE header of the playlist file was reset instead of being incremented.
It is now incremented by one for every media URI removed from the playlist file as the standard states.
Signed-off-by: Willy Aubry <waubry@viotech.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-03 16:46:22 +01:00
Stefano Sabatini
f57baf743f
lavf/segment: drop pointless variable oc from seg_write_packet()
2014-01-21 20:08:36 +01:00
Stefano Sabatini
169065fbfb
lavf/segment: remove duplicated and inconsistent cleanup code in seg_write_packet()
...
In particular, avoid to leave around the seg->avf pointer to freed
structure, and fix crash with:
ffmpeg -f lavfi -i testsrc -c:v h264 -map 0 -f segment foo-%d.ts
2014-01-21 20:08:36 +01:00
Stefano Sabatini
8937af7b6f
lavf/segment: increase logging level for message with segment start information
...
Help debugging.
2013-12-18 15:14:58 +01:00
Stefano Sabatini
c0f2e07135
lavf/segment: add a few log messages when avio_open2() fails
2013-11-25 19:20:11 +01:00
Stefano Sabatini
5e278c19c7
lavf/segment: add segment_list_entry_prefix option
...
This option allows to add a prefix to the segment list entry filenames.
Also set by default the list entry filenames to the corresponding
segment basename, consistent with the HLS muxer.
Based on an idea by Steven Liu <lingjiujianke@gmail.com>.
2013-11-25 19:12:16 +01:00
Stefano Sabatini
1120fd7852
lavf/segment: simplify logic and fix !=0 check on segment_end return value
...
A successfull return value can be > 0.
2013-10-15 15:17:22 +02:00
Billy Shambrook
67e507e10e
lavf/segment: log segments as they end to AV_LOG_VERBOSE
...
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-10-15 14:57:49 +02:00
Stefano Sabatini
3b9f8e7cd9
lavf/segment: simplify segment_count update
...
Now segment_count mark the segment_count of the current segment.
2013-10-15 14:55:48 +02:00
Thilo Borgmann
d814a839ac
Reinstate proper FFmpeg license for all files.
2013-08-30 15:47:38 +00:00
Stefano Sabatini
71a2e5245c
lavf/segment: use AV_OPT_TIME_DURATION for time_delta
...
Simplify.
2013-07-11 00:36:53 +02:00
Stefano Sabatini
459dc81a64
lavf/segment: reindent after last commit
2013-07-11 00:36:41 +02:00
Stefano Sabatini
19ea08a11a
lavf/segment: add initial_offset option
...
Should address trac ticket #2224 .
2013-07-11 00:36:24 +02:00
Anton Khirnov
cf679b9476
hls, segment: fix splitting for audio-only streams.
...
CC:libav-stable@libav.org
2013-04-27 10:19:04 +02:00
Michael Niedermayer
0e02a5193f
segment: copy metadata
...
Fixes Ticket2230
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-18 23:57:44 +01:00
Stefano Sabatini
d95143ec82
lavf/segment: add support to ffconcat segment list
2013-03-07 01:44:59 +01:00
Stefano Sabatini
b3d2c6f8b9
lavf/segment: fix DTS inconsistencies with -reset_timestamps
...
The DTS needs to be resynched against the segment start PTS, or the
resulting DTS may result < PTS.
Reported-by: Owen Jones <riots6@gmail.com>
See thread:
Subject: [FFmpeg-user] pts/dts error using reset_timestamps while splitting a DVD
Date: Sat, 19 Jan 2013 08:58:27 +0000
2013-02-06 22:55:18 +01:00
Stefano Sabatini
a12787960e
lavf/segment: extend PTS debugging log with -reset_timestamps
2013-02-06 00:40:09 +01:00
Carl Eugen Hoyos
90020d7f4b
lavf/segment: use correct spelling and value for EXT-X-ALLOW-CACHE tag
...
Replace wrong "EXT-X-ALLOWCACHE" with "EXT-X-ALLOW-CACHE", and value 1/0
with YES/NO, as per spec.
Fix trac ticket #2228 .
Signed-off-by: Stefano Sabatini <stefasab@gmail.com>
2013-02-03 11:17:35 +01:00
Stefano Sabatini
e319725717
lavf/segment: exit immediately in case of invalid stream specifier
...
Avoid duplicated confusing error message, and propagate error code from
the failing avformat_match_stream_specifier() call.
2013-01-23 18:54:53 +01:00
Stefano Sabatini
bb539eb13a
lavf/segment: avoid failure in case -flags +live and -segment_times/frames are specified
...
The conflict does not apply any longer, since the M3U8 segment target
duration is re-computed every time a new segment is added to the list.
2013-01-23 18:54:33 +01:00
Stefano Sabatini
f4e4e5b841
lavf/segment: drop now pointless segment_list_close() function
2013-01-23 18:32:01 +01:00
Stefano Sabatini
ca68acd7ac
lavf/segment: mark #EXT-X-ENDLIST in M3U8 only at the end of stream
...
Should fix immediate playback termination.
In particular, should fix trac ticket #2172 .
2013-01-23 18:32:01 +01:00
Stefano Sabatini
30a40d4a55
lavf/segment: provide link to HTML M3U8 draft, also fix mentioned version in docs
2013-01-22 20:25:45 +01:00
Stefano Sabatini
d00df260ca
lavf/segment: do not auto-select a video stream with attached_pic disposition
...
In particular, fix trac ticket #2138 .
2013-01-19 00:32:08 +01:00
Stefano Sabatini
bbce913edf
lavf/segment: move reference stream selection code to a dedicated function
2013-01-19 00:32:01 +01:00
Stefano Sabatini
1de369a632
lavf/segment: remove now unused field list_max_segment_time
2013-01-19 00:23:36 +01:00
Stefano Sabatini
d4890c1068
lavf/segment: add support to segment list file entries sliding window listing
...
In particular, should fix trac ticket #1842 .
2013-01-19 00:22:58 +01:00
Stefano Sabatini
6b7d9d5153
lavf/segment: add SegmentListEntry and use it
...
This patch is propedeutic to the incoming patch which adds
support to sliding window segment listing.
2013-01-19 00:14:03 +01:00
Stefano Sabatini
0156dd6530
lavf/segment: add segment_frames option
...
This is meant to address trac ticket #1483 .
2012-12-28 11:17:22 +01:00
Stefano Sabatini
7a8face9fb
lavf/segment: add reference_stream option
2012-12-28 10:57:02 +01:00
Stefano Sabatini
ecebf6fc82
lavf/segment: provide more debug feedback when a new segment starts
2012-12-14 18:19:47 +01:00
Stefano Sabatini
df5f9496e6
lavf/segment: add missing flags to segmenter option constants
2012-12-14 18:19:47 +01:00