summaryrefslogtreecommitdiffstats
path: root/sub/lavc_conv.c
diff options
context:
space:
mode:
authorKacper Michajłow <kasper93@gmail.com>2024-04-13 18:30:39 +0200
committerKacper Michajłow <kasper93@gmail.com>2024-04-27 01:14:23 +0200
commitf55d19e8468440bd4d41d1ae817b9df8280f6378 (patch)
tree1e69750376cea8c5b14074797a2648c8377cb488 /sub/lavc_conv.c
parentd8378dc226ad6be2a52ddaa0ca585838c28fe1a3 (diff)
downloadmpv-f55d19e8468440bd4d41d1ae817b9df8280f6378.tar.bz2
mpv-f55d19e8468440bd4d41d1ae817b9df8280f6378.tar.xz
sub/lavc_conv: don't override style of converted teletext pages
This fixes teletext pages rendering, while keeping the same default style for subtitles and other converted formats.
Diffstat (limited to 'sub/lavc_conv.c')
-rw-r--r--sub/lavc_conv.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sub/lavc_conv.c b/sub/lavc_conv.c
index f269da3698..3a33933605 100644
--- a/sub/lavc_conv.c
+++ b/sub/lavc_conv.c
@@ -33,6 +33,7 @@
struct lavc_conv {
struct mp_log *log;
struct mp_subtitle_opts *opts;
+ bool styled;
AVCodecContext *avctx;
AVPacket *avpkt;
AVPacket *avpkt_vtt;
@@ -245,9 +246,12 @@ char **lavc_conv_decode(struct lavc_conv *priv, struct demux_packet *packet,
curr_pkt = priv->avpkt_vtt;
}
+ priv->styled = avctx->codec_id == AV_CODEC_ID_DVB_TELETEXT;
+
if (avctx->codec_id == AV_CODEC_ID_DVB_TELETEXT) {
if (!priv->opts->teletext_page) {
av_opt_set(avctx, "txt_page", "subtitle", AV_OPT_SEARCH_CHILDREN);
+ priv->styled = false;
} else if (priv->opts->teletext_page == -1) {
av_opt_set(avctx, "txt_page", "*", AV_OPT_SEARCH_CHILDREN);
} else {
@@ -285,6 +289,11 @@ done:
return priv->cur_list;
}
+bool lavc_conv_is_styled(struct lavc_conv *priv)
+{
+ return priv->styled;
+}
+
void lavc_conv_reset(struct lavc_conv *priv)
{
avcodec_flush_buffers(priv->avctx);