| @@ -19,6 +19,7 @@ | |||||
| * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||||
| */ | */ | ||||
| #include "libavutil/channel_layout.h" | |||||
| #include "libavutil/intreadwrite.h" | #include "libavutil/intreadwrite.h" | ||||
| #include "libavutil/parseutils.h" | #include "libavutil/parseutils.h" | ||||
| #include "libavutil/opt.h" | #include "libavutil/opt.h" | ||||
| @@ -101,7 +102,13 @@ static int cdxl_read_packet(AVFormatContext *s, AVPacket *pkt) | |||||
| st->codec->codec_type = AVMEDIA_TYPE_AUDIO; | st->codec->codec_type = AVMEDIA_TYPE_AUDIO; | ||||
| st->codec->codec_tag = 0; | st->codec->codec_tag = 0; | ||||
| st->codec->codec_id = AV_CODEC_ID_PCM_S8; | st->codec->codec_id = AV_CODEC_ID_PCM_S8; | ||||
| st->codec->channels = cdxl->header[1] & 0x10 ? 2 : 1; | |||||
| if (cdxl->header[1] & 0x10) { | |||||
| st->codec->channels = 2; | |||||
| st->codec->channel_layout = AV_CH_LAYOUT_STEREO; | |||||
| } else { | |||||
| st->codec->channels = 1; | |||||
| st->codec->channel_layout = AV_CH_LAYOUT_MONO; | |||||
| } | |||||
| st->codec->sample_rate = cdxl->sample_rate; | st->codec->sample_rate = cdxl->sample_rate; | ||||
| st->start_time = 0; | st->start_time = 0; | ||||
| cdxl->audio_stream_index = st->index; | cdxl->audio_stream_index = st->index; | ||||