options: only apply sub-visibility to primary subs

Previously, the sub-visibility option changed the visibility of all
subtitles including secondary ones. This meant that it was not possible
to only display secondary subtitles while hiding the primary ones. This
modifies the sub-visibility option so that it only affects primary
subtitles which allows only secondary subtitles to be displayed.
This commit is contained in:
Dudemanguy
2022-01-19 11:23:52 -06:00
parent 9cddd73f67
commit 024e0cd4c1
5 changed files with 9 additions and 9 deletions

View File

@@ -334,8 +334,6 @@ struct sub_bitmaps *sub_get_bitmaps(struct dec_sub *sub, struct mp_osd_res dim,
{
pthread_mutex_lock(&sub->lock);
struct mp_subtitle_opts *opts = sub->opts;
pts = pts_to_subtitle(sub, pts);
sub->last_vo_pts = pts;
@@ -344,7 +342,7 @@ struct sub_bitmaps *sub_get_bitmaps(struct dec_sub *sub, struct mp_osd_res dim,
struct sub_bitmaps *res = NULL;
if (!(sub->end != MP_NOPTS_VALUE && pts >= sub->end) &&
opts->sub_visibility && sub->sd->driver->get_bitmaps)
sub->sd->driver->get_bitmaps)
res = sub->sd->driver->get_bitmaps(sub->sd, dim, format, pts);
pthread_mutex_unlock(&sub->lock);
@@ -453,6 +451,11 @@ void sub_set_play_dir(struct dec_sub *sub, int dir)
pthread_mutex_unlock(&sub->lock);
}
bool sub_is_primary_visible(struct dec_sub *sub)
{
return !!sub->opts->sub_visibility;
}
bool sub_is_secondary_visible(struct dec_sub *sub)
{
return !!sub->opts->sec_sub_visibility;