mirror of
https://github.com/mpv-player/mpv
synced 2025-03-29 23:07:56 +00:00
command: fix subtitle selection display
Commit9c02ae7e95
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. Commit804bf91570
accidentally removed the display of the track title. Add it back.
This commit is contained in:
parent
7fd43b0bcd
commit
b4dd2194d5
10
command.c
10
command.c
@ -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;
|
||||
}
|
||||
|
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user