summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorphintuka <phintuka>2009-09-05 11:07:32 +0000
committerphintuka <phintuka>2009-09-05 11:07:32 +0000
commit4379d9d084413b8042090b13b0505f844a11c26d (patch)
treedc9914dd308129b4214d8922db8e457656501a87
parent220009de72f1d8089666bbbed0d18d144025d8b9 (diff)
downloadxineliboutput-4379d9d084413b8042090b13b0505f844a11c26d.tar.gz
xineliboutput-4379d9d084413b8042090b13b0505f844a11c26d.tar.bz2
Fixed demux_ts_get_optional_data(DEMUX_OPTIONAL_DATA_SPULANG) :
- Use stream index when language is not known. - Return DEMUX_OPTIONAL_UNSUPPORTED for non-existing channels.
-rw-r--r--xine/BluRay/demux_ts.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/xine/BluRay/demux_ts.c b/xine/BluRay/demux_ts.c
index 4c79ee7f..b9dce7df 100644
--- a/xine/BluRay/demux_ts.c
+++ b/xine/BluRay/demux_ts.c
@@ -2257,10 +2257,16 @@ static int demux_ts_get_optional_data(demux_plugin_t *this_gen,
case DEMUX_OPTIONAL_DATA_SPULANG:
if (channel>=0 && channel<this->spu_langs_count) {
- memcpy(str, this->spu_langs[channel].desc.lang, 3);
- str[3] = 0;}
- else
+ if (this->spu_langs[channel].desc.lang[0]) {
+ memcpy(str, this->spu_langs[channel].desc.lang, 3);
+ str[3] = 0;
+ } else
+ sprintf(str, "%3i", channel);
+ }
+ else {
strcpy(str, "none");
+ return DEMUX_OPTIONAL_UNSUPPORTED;
+ }
return DEMUX_OPTIONAL_SUCCESS;
default: