On 12/03/15 19:47, Diego Biurrun wrote:
On Thu, Mar 12, 2015 at 07:41:47PM +0100, Luca Barbato wrote:
On 12/03/15 19:35, Diego Biurrun wrote:
On Thu, Mar 12, 2015 at 04:54:01PM +0100, Niels Möller wrote:
Diego Biurrun <di...@biurrun.de> writes:
I see no more issues, I just want to run this through Oracle, once the
TDSC decoder is through.

Thanks for taking care of this!

No issues so far, but let's wait until tomorrow for the whole run.

+                if (chset->downmix_ncoeffs > DCA_XLL_DMIX_NCOEFFS_MAX) {
+                    av_log(s->avctx, AV_LOG_WARNING,
+                           "XLL: Skipping %d downmix coefficients, exceeding 
implementation limit %d\n",
+                           chset->downmix_ncoeffs, DCA_XLL_DMIX_NCOEFFS_MAX);
+                    skip_bits_long(&s->gb, 9 * chset->downmix_ncoeffs);
+                    chset->downmix_ncoeffs = 0;

I still think it would make sense with a return AVERROR_PATCHWELCOME
here. The alternatives are to either

1. Make the code reading chset->downmix_coeffs (that's close to the end
    of ff_dca_xll_decode_audio) check for chset->downmix_ncoeffs == 0,
    and do something not too insane, or error out at that time.

2. Allocate chset->downmix_coeffs dynamically.

Otherwise, we risk reading garbage, as well as reading beyond the end of
the buffer.

I'll go for the return AVERROR, as in the attached patch, OK?

I'd ask for samples.

Changed locally.

Diego
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel


Fine for me then =)

lu
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to