cc_stream.cpp 656 Bytes
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// Copyright 2004-present Facebook. All Rights Reserved.

#include "cc_stream.h"

namespace ffmpeg {

CCStream::CCStream(
    AVFormatContext* inputCtx,
    int index,
    bool convertPtsToWallTime,
    const SubtitleFormat& format)
    : SubtitleStream(inputCtx, index, convertPtsToWallTime, format) {
  format_.type = TYPE_CC;
}

AVCodec* CCStream::findCodec(AVCodecContext* ctx) {
  if (ctx->codec_id == AV_CODEC_ID_BIN_DATA &&
      ctx->codec_type == AVMEDIA_TYPE_DATA) {
    // obtain subtitles codec
    ctx->codec_id = AV_CODEC_ID_MOV_TEXT;
    ctx->codec_type = AVMEDIA_TYPE_SUBTITLE;
  }
  return Stream::findCodec(ctx);
}

} // namespace ffmpeg