#include <malloc.h>
#endif
-#define INBUF_SIZE 4096
-#define BUFFER_SIZE 4096
+#define BUFFER_SIZE 18726
#define HEADER_SIZE 14
#ifdef LIBDTS_FIXED
{
if (flags & DTS_LFE)
return 6;
- else if (flags & 1) /* center channel */
+ else if (flags & 1) /* center channel */
return 5;
else if ((flags & DTS_CHANNEL_MASK) == DTS_2F2R)
return 4;
memcpy (bufptr, start, len);
bufptr += len;
start += len;
- if (bufptr == bufpos)
- {
- if (bufpos == buf + HEADER_SIZE)
+ if (bufptr != bufpos)
+ return start - buff;
+ if (bufpos != buf + HEADER_SIZE)
+ break;
+
{
int length;
}
bufpos = buf + length;
}
- else
+ }
+
{
level_t level;
sample_t bias;
}
bufptr = buf;
bufpos = buf + HEADER_SIZE;
- continue;
+ return start-buff;
error:
av_log (NULL, AV_LOG_ERROR, "error\n");
bufptr = buf;
bufpos = buf + HEADER_SIZE;
}
- }
- }
- return buff_size;
+ return start-buff;
}
static int
{
avctx->priv_data = dts_init (0);
if (avctx->priv_data == NULL)
- return 1;
+ return -1;
return 0;
}