summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetri Hintukainen <phintuka@users.sourceforge.net>2011-11-25 12:28:20 +0200
committerPetri Hintukainen <phintuka@users.sourceforge.net>2011-11-25 12:28:20 +0200
commit2b00fb6cedea5e6a72777210eb20bc34a7a3893b (patch)
tree42a6c11dd9b8b722558167604c5d4ef2fbcafc0e
parent679f7ef6e859d0b36e941e5721651001f5e8846e (diff)
downloadxine-lib-2b00fb6cedea5e6a72777210eb20bc34a7a3893b.tar.gz
xine-lib-2b00fb6cedea5e6a72777210eb20bc34a7a3893b.tar.bz2
demux_ts: fixed DEMUX_OPTIONAL_DATA_SPULANG when language is unknown
--HG-- branch : point-release
-rw-r--r--src/demuxers/demux_ts.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/demuxers/demux_ts.c b/src/demuxers/demux_ts.c
index ed1f789ba..b6f11c91f 100644
--- a/src/demuxers/demux_ts.c
+++ b/src/demuxers/demux_ts.c
@@ -2360,10 +2360,14 @@ 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]) {
+ strcpy(str, this->spu_langs[channel].desc.lang);
+ } else {
+ sprintf(str, "%3i", channel);
+ }
+ } else {
strcpy(str, "none");
+ }
return DEMUX_OPTIONAL_SUCCESS;
default: