Re: AAC 5.1 audio is broken in xine-lib-1.2
"Torsten Jager" <[email protected]> Wed, 27 Mar 2013 17:26:26 +0100
| Newsgroups | gmane.comp.video.xine.devel |
|---|---|
| Message-ID | <[email protected]> |
Hello, I'm quite angry with you about reverting my patch that quick (and breaking another patch of mine as well this way). A simple change of faad decoder priority would have done it, too. > Hi, > I have a couple of movie trailer files that use AAC 5.1 audio. > This used to be decoded by libfaad, but is now being decoded by > FFmpeg instead This is my intention. At least with ffmpeg 1.1.2, it does fix most of my issues from my "hifi aac" thread. Your file is indeed broken. It supplies invalid settings in container head. Maybe you should improve your taste of movies ;-) Anyway, this should fix it - if those earlier patches would be still there... Torsten ------------------------------------------------------------------------------ Own the Future-Intel® Level Up Game Demo Contest 2013 Rise to greatness in Intel's independent game demo contest. Compete for recognition, cash, and the chance to get your game on Steam. $5K grand prize plus 10 genre and skill prizes. Submit your demo by 6/6/13. http://p.sf.net/sfu/intel_levelupd2d _______________________________________________ xine-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/xine-devel
aac_wrong_header_fix.diff
(application/octet-stream, 1.2 KB)
--- xine-lib-1.2-20130318/src/combined/ffmpeg/ff_audio_decoder.c 2013-03-18 13:25:00.000000000 +0100
+++ xine-lib-1.2-20130318/src/combined/ffmpeg/ff_audio_decoder.c 2013-03-27 15:52:12.000000000 +0100
@@ -581,14 +593,13 @@ static void ff_audio_decode_data (audio_
return;
}
- if (this->output_open) {
- if (this->audio_bits != this->context->bits_per_sample ||
- this->audio_sample_rate != this->context->sample_rate ||
- this->audio_channels != this->context->channels) {
- xprintf(this->stream->xine, XINE_VERBOSITY_LOG,
- _("ffmpeg_audio_dec: codec parameters changed\n"));
- ff_audio_output_close(this);
- }
+ if (this->audio_bits != this->context->bits_per_sample ||
+ this->audio_sample_rate != this->context->sample_rate ||
+ this->audio_channels != this->context->channels) {
+ xprintf(this->stream->xine, XINE_VERBOSITY_LOG,
+ _("ffmpeg_audio_dec: codec parameters changed\n"));
+ /* close if it was open, and always trigger 1 new open attempt below */
+ ff_audio_output_close(this);
}
if (!this->output_open) {