diff options
Diffstat (limited to 'sub')
-rw-r--r-- | sub/dec_sub.c | 6 | ||||
-rw-r--r-- | sub/sd.h | 2 | ||||
-rw-r--r-- | sub/sd_ass.c | 10 | ||||
-rw-r--r-- | sub/sd_lavc.c | 4 |
4 files changed, 11 insertions, 11 deletions
diff --git a/sub/dec_sub.c b/sub/dec_sub.c index c0c98c42cc..561f8b8be8 100644 --- a/sub/dec_sub.c +++ b/sub/dec_sub.c @@ -81,7 +81,7 @@ void sub_destroy(struct dec_sub *sub) struct dec_sub *sub_create(struct mpv_global *global, struct demuxer *demuxer, struct sh_stream *sh) { - assert(demuxer && sh && sh->sub); + assert(demuxer && sh && sh->type == STREAM_SUB); struct mp_log *log = mp_log_new(NULL, global->log, "sub"); @@ -101,7 +101,7 @@ struct dec_sub *sub_create(struct mpv_global *global, struct demuxer *demuxer, .opts = sub->opts, .driver = driver, .demuxer = demuxer, - .sh = sh, + .codec = sh->codec, }; if (sh->codec && sub->sd->driver->init(sub->sd) >= 0) @@ -113,7 +113,7 @@ struct dec_sub *sub_create(struct mpv_global *global, struct demuxer *demuxer, } mp_err(log, "Could not find subtitle decoder for format '%s'.\n", - sh->codec ? sh->codec : "<unknown>"); + sh->codec->codec); talloc_free(log); return NULL; } @@ -18,7 +18,7 @@ struct sd { void *priv; struct demuxer *demuxer; - struct sh_stream *sh; + struct mp_codec_params *codec; }; struct sd_functions { diff --git a/sub/sd_ass.c b/sub/sd_ass.c index 658e952c28..2358ba45f6 100644 --- a/sub/sd_ass.c +++ b/sub/sd_ass.c @@ -165,12 +165,12 @@ static int init(struct sd *sd) struct sd_ass_priv *ctx = talloc_zero(sd, struct sd_ass_priv); sd->priv = ctx; - char *extradata = sd->sh->extradata; - int extradata_size = sd->sh->extradata_size; + char *extradata = sd->codec->extradata; + int extradata_size = sd->codec->extradata_size; - if (strcmp(sd->sh->codec, "ass") != 0) { + if (strcmp(sd->codec->codec, "ass") != 0) { ctx->is_converted = true; - ctx->converter = lavc_conv_create(sd->log, sd->sh->codec, extradata, + ctx->converter = lavc_conv_create(sd->log, sd->codec->codec, extradata, extradata_size); if (!ctx->converter) return -1; @@ -203,7 +203,7 @@ static int init(struct sd *sd) ass_set_check_readorder(ctx->ass_track, sd->opts->sub_clear_on_seek ? 0 : 1); #endif - ctx->frame_fps = sd->sh->sub->frame_based; + ctx->frame_fps = sd->codec->frame_based; update_subtitle_speed(sd); enable_output(sd, true); diff --git a/sub/sd_lavc.c b/sub/sd_lavc.c index ae08026d9a..2da69e937e 100644 --- a/sub/sd_lavc.c +++ b/sub/sd_lavc.c @@ -95,7 +95,7 @@ static void get_resolution(struct sd *sd, int wh[2]) static int init(struct sd *sd) { - enum AVCodecID cid = mp_codec_to_av_codec_id(sd->sh->codec); + enum AVCodecID cid = mp_codec_to_av_codec_id(sd->codec->codec); // Supported codecs must be known to decode to paletted bitmaps switch (cid) { @@ -116,7 +116,7 @@ static int init(struct sd *sd) ctx = avcodec_alloc_context3(sub_codec); if (!ctx) goto error; - mp_lavc_set_extradata(ctx, sd->sh->extradata, sd->sh->extradata_size); + mp_lavc_set_extradata(ctx, sd->codec->extradata, sd->codec->extradata_size); if (avcodec_open2(ctx, sub_codec, NULL) < 0) goto error; priv->avctx = ctx; |