summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorphintuka <phintuka>2009-09-05 11:02:48 +0000
committerphintuka <phintuka>2009-09-05 11:02:48 +0000
commit220009de72f1d8089666bbbed0d18d144025d8b9 (patch)
tree1bbd8a6eb045e0a6ecfdb7dfd6ff9e1ad8c49eed
parent8008a68a270427508aaeb8d94522f3438909b91d (diff)
downloadxineliboutput-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.c7
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;