Merge commit 'f726fc21ef76a8ba3445448066f7b2a687fbca16'
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 1 Feb 2015 12:22:21 +0000 (13:22 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 1 Feb 2015 12:22:21 +0000 (13:22 +0100)
* commit 'f726fc21ef76a8ba3445448066f7b2a687fbca16':
  ogg: Provide an option to offset the serial number

Conflicts:
libavformat/oggenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
doc/muxers.texi
libavformat/oggenc.c

diff --cc doc/muxers.texi
@@@ -806,10 -504,14 +806,15 @@@ is 1 second. A value of 0 will fill al
  possible. A value of 1 will effectively use 1 packet-per-page in most
  situations, giving a small seek granularity at the cost of additional container
  overhead.
+ @item -serial_offset @var{value}
+ Serial value from which to set the streams serial number.
+ Setting it to different and sufficiently large values ensures that the produced
+ ogg files can be safely chained.
  @end table
  
 -@section segment
 +@anchor{segment}
 +@section segment, stream_segment, ssegment
  
  Basic stream segmenter.
  
@@@ -77,8 -78,8 +78,10 @@@ typedef struct 
  #define PARAM AV_OPT_FLAG_ENCODING_PARAM
  
  static const AVOption options[] = {
+     { "serial_offset", "serial number offset",
+         OFFSET(serial_offset), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, PARAM },
 +    { "oggpagesize", "Set preferred Ogg page size.",
 +      offsetof(OGGContext, pref_size), AV_OPT_TYPE_INT, {.i64 = 0}, 0, MAX_PAGE_SIZE, AV_OPT_FLAG_ENCODING_PARAM},
      { "pagesize", "preferred page size in bytes (deprecated)",
          OFFSET(pref_size), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, MAX_PAGE_SIZE, PARAM },
      { "page_duration", "preferred page duration, in microseconds",
@@@ -430,9 -421,9 +433,9 @@@ static int ogg_write_header(AVFormatCon
  
      for (i = 0; i < s->nb_streams; i++) {
          AVStream *st = s->streams[i];
-         unsigned serial_num = i;
+         unsigned serial_num = i + ogg->serial_offset;
  
 -        if (st->codec->codec_type == AVMEDIA_TYPE_AUDIO)
 +        if (st->codec->codec_type == AVMEDIA_TYPE_AUDIO) {
              if (st->codec->codec_id == AV_CODEC_ID_OPUS)
                  /* Opus requires a fixed 48kHz clock */
                  avpriv_set_pts_info(st, 64, 1, 48000);