[FFmpeg-devel] [PATCH 2/2] WIP: lavf/segment: provide a virtual AVIOContext representing all the segments

Stefano Sabatini stefasab at gmail.com
Thu Apr 9 12:41:29 CEST 2015


On date Monday 2015-03-30 20:23:20 -0600, Rodger Combs encoded:
> This needs a fair bit of testing and review before merge.
> ---
>  libavformat/segment.c | 259 ++++++++++++++++++++++++++++++++++++++------------
>  1 file changed, 198 insertions(+), 61 deletions(-)

Sorry for the delay, missed the email.

> 
> diff --git a/libavformat/segment.c b/libavformat/segment.c
> index 69038ca..4d934a2 100644
> --- a/libavformat/segment.c
> +++ b/libavformat/segment.c
> @@ -48,8 +48,10 @@ typedef struct SegmentListEntry {
>      int64_t start_pts;
>      int64_t offset_pts;
>      char *filename;
> +    char *full_filename;
>      struct SegmentListEntry *next;
>      int64_t last_duration;
> +    size_t start_offset;
>  } SegmentListEntry;
>  
>  typedef enum {
> @@ -114,7 +116,13 @@ typedef struct SegmentContext {
>  
>      SegmentListEntry cur_entry;
>      SegmentListEntry *segment_list_entries;
> +    SegmentListEntry *segment_list_entries_all;
>      SegmentListEntry *segment_list_entries_end;
> +    SegmentListEntry *segment_list_entry_writing;
> +    int seekback;          ///< allow seeking back to previous segments
> +    AVIOContext *cur_pb;   ///< current segment put-byte context
> +    size_t write_offset;
> +    size_t max_offset;
>  } SegmentContext;

Not sure what's the user case here. Also muxers.texi documentation is
missing.

[...]
-- 
FFmpeg = Fanciful and Funny Meaningless Proud Efficient Generator


More information about the ffmpeg-devel mailing list