summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTorsten Jager <t.jager@gmx.de>2013-10-24 15:36:10 +0200
committerTorsten Jager <t.jager@gmx.de>2013-10-24 15:36:10 +0200
commitee6211cc52464b82ac435b89782e06ca37fba7a6 (patch)
tree6d92fd24a97db784437212d338925d7cae74d817 /src
parente92d0edb459fb23575cec4ccccc5c0d02f5dc7e2 (diff)
downloadxine-lib-ee6211cc52464b82ac435b89782e06ca37fba7a6.tar.gz
xine-lib-ee6211cc52464b82ac435b89782e06ca37fba7a6.tar.bz2
demux_flv: add audio language info.
Read: fix misleading frontend audio selector list.
Diffstat (limited to 'src')
-rw-r--r--src/demuxers/demux_flv.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/demuxers/demux_flv.c b/src/demuxers/demux_flv.c
index cf1974659..988d7938f 100644
--- a/src/demuxers/demux_flv.c
+++ b/src/demuxers/demux_flv.c
@@ -1034,11 +1034,31 @@ static int demux_flv_get_stream_length (demux_plugin_t *this_gen) {
}
static uint32_t demux_flv_get_capabilities(demux_plugin_t *this_gen) {
- return DEMUX_CAP_NOCAP;
+ return DEMUX_CAP_AUDIOLANG;
}
static int demux_flv_get_optional_data(demux_plugin_t *this_gen,
void *data, int data_type) {
+ demux_flv_t *this = (demux_flv_t *) this_gen;
+
+ /* be a bit paranoid */
+ if (this == NULL || this->stream == NULL)
+ return DEMUX_OPTIONAL_UNSUPPORTED;
+
+ switch (data_type) {
+ case DEMUX_OPTIONAL_DATA_AUDIOLANG: {
+ char *str = data;
+ int channel = *((int *)data);
+ if (channel != 0) {
+ strcpy (str, "none");
+ } else {
+ strcpy (str, "und");
+ return DEMUX_OPTIONAL_SUCCESS;
+ }
+ }
+ break;
+ default: ;
+ }
return DEMUX_OPTIONAL_UNSUPPORTED;
}