summaryrefslogtreecommitdiffstats
path: root/libmpcodecs/ad_hwac3.c
diff options
context:
space:
mode:
Diffstat (limited to 'libmpcodecs/ad_hwac3.c')
-rw-r--r--libmpcodecs/ad_hwac3.c30
1 files changed, 18 insertions, 12 deletions
diff --git a/libmpcodecs/ad_hwac3.c b/libmpcodecs/ad_hwac3.c
index a1e6dd66eb..0c1db05c69 100644
--- a/libmpcodecs/ad_hwac3.c
+++ b/libmpcodecs/ad_hwac3.c
@@ -61,25 +61,31 @@ static int ac3dts_fillbuff(sh_audio_t *sh_audio)
sh_audio->a_in_buffer[sh_audio->a_in_buffer_len++] = c;
}
- length = dts_syncinfo(sh_audio->a_in_buffer, &flags, &sample_rate, &bit_rate);
- if(length >= 12)
+ if (sh_audio->format == 0x2001)
{
- if(isdts != 1)
+ length = dts_syncinfo(sh_audio->a_in_buffer, &flags, &sample_rate, &bit_rate);
+ if(length >= 12)
{
- mp_msg(MSGT_DECAUDIO, MSGL_STATUS, "hwac3: switched to DTS, %d bps, %d Hz\n", bit_rate, sample_rate);
- isdts = 1;
+ if(isdts != 1)
+ {
+ mp_msg(MSGT_DECAUDIO, MSGL_STATUS, "hwac3: switched to DTS, %d bps, %d Hz\n", bit_rate, sample_rate);
+ isdts = 1;
+ }
+ break;
}
- break;
}
- length = a52_syncinfo(sh_audio->a_in_buffer, &flags, &sample_rate, &bit_rate);
- if(length >= 7 && length <= 3840)
+ else
{
- if(isdts != 0)
+ length = a52_syncinfo(sh_audio->a_in_buffer, &flags, &sample_rate, &bit_rate);
+ if(length >= 7 && length <= 3840)
{
- mp_msg(MSGT_DECAUDIO, MSGL_STATUS, "hwac3: switched to AC3, %d bps, %d Hz\n", bit_rate, sample_rate);
- isdts = 0;
+ if(isdts != 0)
+ {
+ mp_msg(MSGT_DECAUDIO, MSGL_STATUS, "hwac3: switched to AC3, %d bps, %d Hz\n", bit_rate, sample_rate);
+ isdts = 0;
+ }
+ break; /* we're done.*/
}
- break; /* we're done.*/
}
/* bad file => resync*/
memcpy(sh_audio->a_in_buffer, sh_audio->a_in_buffer + 1, 11);