dvdlpcmdec: fix for multichannel

This commit is contained in:
Wim Taymans 2012-01-05 12:17:20 +01:00
parent 882aaf0de2
commit a2dee80838

View file

@ -292,7 +292,7 @@ gst_dvdlpcmdec_setcaps (GstPad * pad, GstCaps * caps)
if (channels < 9 if (channels < 9
&& channel_positions[channels - 1][0] != && channel_positions[channels - 1][0] !=
GST_AUDIO_CHANNEL_POSITION_INVALID) { GST_AUDIO_CHANNEL_POSITION_INVALID) {
dvdlpcmdec->info.flags &= ~GST_AUDIO_FLAG_NONE_LAYOUT; dvdlpcmdec->info.flags &= ~GST_AUDIO_FLAG_UNPOSITIONED;
position = channel_positions[channels - 1]; position = channel_positions[channels - 1];
dvdlpcmdec->lpcm_layout = position; dvdlpcmdec->lpcm_layout = position;
memcpy (dvdlpcmdec->info.position, position, memcpy (dvdlpcmdec->info.position, position,
@ -412,7 +412,7 @@ parse_header (GstDvdLpcmDec * dec, guint32 header)
GST_AUDIO_CHANNEL_POSITION_INVALID) { GST_AUDIO_CHANNEL_POSITION_INVALID) {
const GstAudioChannelPosition *position; const GstAudioChannelPosition *position;
dec->info.flags &= ~GST_AUDIO_FLAG_NONE_LAYOUT; dec->info.flags &= ~GST_AUDIO_FLAG_UNPOSITIONED;
position = channel_positions[channels - 1]; position = channel_positions[channels - 1];
dec->lpcm_layout = position; dec->lpcm_layout = position;
memcpy (dec->info.position, position, memcpy (dec->info.position, position,