diff options
author | phintuka <phintuka> | 2009-09-05 11:02:48 +0000 |
---|---|---|
committer | phintuka <phintuka> | 2009-09-05 11:02:48 +0000 |
commit | 220009de72f1d8089666bbbed0d18d144025d8b9 (patch) | |
tree | 1bbd8a6eb045e0a6ecfdb7dfd6ff9e1ad8c49eed | |
parent | 8008a68a270427508aaeb8d94522f3438909b91d (diff) | |
download | xineliboutput-220009de72f1d8089666bbbed0d18d144025d8b9.tar.gz xineliboutput-220009de72f1d8089666bbbed0d18d144025d8b9.tar.bz2 |
Fixed demux_ts_get_optional_data(DEMUX_OPTIONAL_DATA_AUDIOLANG) :
- Condition if(this->audio_tracks[channel].lang) is always true.
Use if(this->audio_tracks[channel].lang[0]) instead.
- Use stream index instead of current audio track when language is not known.
- Return DEMUX_OPTIONAL_UNSUPPORTED for non-existing channels.
-rw-r--r-- | xine/BluRay/demux_ts.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/xine/BluRay/demux_ts.c b/xine/BluRay/demux_ts.c index 7230eb02..4c79ee7f 100644 --- a/xine/BluRay/demux_ts.c +++ b/xine/BluRay/demux_ts.c @@ -2244,13 +2244,14 @@ static int demux_ts_get_optional_data(demux_plugin_t *this_gen, { case DEMUX_OPTIONAL_DATA_AUDIOLANG: if ((channel >= 0) && (channel < this->audio_tracks_count)) { - if(this->audio_tracks[channel].lang) + if(this->audio_tracks[channel].lang[0]) strcpy(str, this->audio_tracks[channel].lang); else - sprintf(str, "%3i", _x_get_audio_channel(this->stream)); + sprintf(str, "%3i", channel); } else { - snprintf(str, XINE_LANG_MAX, "%3i", _x_get_audio_channel(this->stream)); + strcpy(str, "none"); + return DEMUX_OPTIONAL_UNSUPPORTED; } return DEMUX_OPTIONAL_SUCCESS; |