1
0
mirror of https://github.com/mpv-player/mpv synced 2025-01-29 11:12:56 +00:00

command: fix subtitle selection display

Commit 9c02ae7e9510897 set the sh variable (see diff) to the struct of
type sh_sub instead the one of sh_stream. Unfortunately this didn't
crash, and merely made the OSD show "unknown" for the language.

Commit 804bf91570a24b9 accidentally removed the display of the track
title. Add it back.
This commit is contained in:
wm4 2012-08-08 21:45:37 +02:00
parent 7fd43b0bcd
commit b4dd2194d5
2 changed files with 8 additions and 4 deletions

View File

@ -1576,12 +1576,16 @@ static int mp_property_sub(m_option_t *prop, int action, void *arg,
return M_PROPERTY_OK;
}
if (opts->sub_id >= 0 && mpctx->d_sub && mpctx->d_sub->sh) {
struct sh_stream *sh = mpctx->d_sub->sh;
struct sh_stream *sh = ((struct sh_sub *)mpctx->d_sub->sh)->gsh;
char *lang = demuxer_stream_lang(mpctx->demuxer, sh);
if (!lang)
lang = talloc_strdup(NULL, mp_gtext("unknown"));
*(char **) arg = talloc_asprintf(NULL, "(%d) %s", opts->sub_id,
lang);
if (sh->title)
*(char **)arg = talloc_asprintf(NULL, "(%d) %s (\"%s\")",
opts->sub_id, lang, sh->title);
else
*(char **) arg = talloc_asprintf(NULL, "(%d) %s", opts->sub_id,
lang);
talloc_free(lang);
return M_PROPERTY_OK;
}

View File

@ -136,7 +136,7 @@ typedef struct demux_stream {
// ---- mov -----
unsigned int ss_mul, ss_div;
// ---- stream header ----
void *sh;
void *sh; // points to sh_audio or sh_video
} demux_stream_t;
typedef struct demuxer_info {