Index: libmpcodecs/ad_libdca.c =================================================================== --- libmpcodecs/ad_libdca.c (revision 25304) +++ libmpcodecs/ad_libdca.c (working copy) @@ -203,6 +203,7 @@ int sample_rate; int frame_length; int bit_rate; + int skipped_bytes = 0; sh->a_in_buffer_len=0; @@ -210,8 +211,13 @@ while(sh->a_in_buffer_len < HEADER_SIZE) { int c = demux_getc(sh->ds); - if(c < 0) + if (c < 0) { + if (skipped_bytes) + mp_msg(MSGT_DECAUDIO, MSGL_V, + "[dts_sync] skipped %d bytes no sync word.\n", + skipped_bytes); return -1; + } sh->a_in_buffer[sh->a_in_buffer_len++] = c; } @@ -221,10 +227,13 @@ if(length >= HEADER_SIZE) break; - mp_msg(MSGT_DECAUDIO, MSGL_V, "skip\n"); memmove(sh->a_in_buffer, sh->a_in_buffer+1, HEADER_SIZE-1); --sh->a_in_buffer_len; + ++skipped_bytes; } + if (skipped_bytes) + mp_msg(MSGT_DECAUDIO, MSGL_V, "[dts_sync] skipped %d bytes.\n", + skipped_bytes); demux_read_data(sh->ds, sh->a_in_buffer + HEADER_SIZE, length - HEADER_SIZE);