mirror of
https://github.com/mpv-player/mpv.git
synced 2026-10-28 23:13:18 +08:00
command: fix subtitle selection display
Commit9c02ae7e95set 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. Commit804bf91570accidentally removed the display of the track title. Add it back.
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user