summaryrefslogtreecommitdiffstats
path: root/libhb/scan.c
diff options
context:
space:
mode:
Diffstat (limited to 'libhb/scan.c')
-rw-r--r--libhb/scan.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libhb/scan.c b/libhb/scan.c
index 7ab7e17c7..8c8ce433f 100644
--- a/libhb/scan.c
+++ b/libhb/scan.c
@@ -599,8 +599,9 @@ static int DecodePreviews( hb_scan_t * data, hb_title_t * title, int flush )
hb_buffer_t * vid_buf = NULL;
- int total_read = 0;
- while (total_read < PREVIEW_READ_THRESH)
+ int total_read = 0, packets = 0;
+ while (total_read < PREVIEW_READ_THRESH ||
+ (!AllAudioOK(title) && packets < 10000))
{
if (data->bd)
{
@@ -657,6 +658,7 @@ static int DecodePreviews( hb_scan_t * data, hb_title_t * title, int flush )
goto skip_preview;
}
total_read += buf->size;
+ packets++;
(hb_demux[title->demuxer])(buf, list_es, 0 );