summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gtk/src/callbacks.c2
-rw-r--r--gtk/src/hb-backend.c2
-rw-r--r--libhb/common.h2
-rw-r--r--libhb/reader.c3
-rw-r--r--libhb/scan.c4
-rw-r--r--libhb/stream.c5
-rw-r--r--macosx/Controller.m5
-rw-r--r--test/test.c2
8 files changed, 15 insertions, 10 deletions
diff --git a/gtk/src/callbacks.c b/gtk/src/callbacks.c
index fc79b99cf..0d8699c0d 100644
--- a/gtk/src/callbacks.c
+++ b/gtk/src/callbacks.c
@@ -1343,7 +1343,7 @@ show_title_info(signal_user_data_t *ud, ghb_title_info_t *tinfo)
gchar *text;
ghb_settings_set_string(ud->settings, "source", tinfo->path);
- if (tinfo->type == HB_STREAM_TYPE)
+ if (tinfo->type == HB_STREAM_TYPE || tinfo->type == HB_FF_STREAM_TYPE)
{
GtkWidget *widget = GHB_WIDGET (ud->builder, "source_title");
if (tinfo->name != NULL && tinfo->name[0] != 0)
diff --git a/gtk/src/hb-backend.c b/gtk/src/hb-backend.c
index e0ee19c3b..f6061c564 100644
--- a/gtk/src/hb-backend.c
+++ b/gtk/src/hb-backend.c
@@ -1888,7 +1888,7 @@ title_opts_set(GtkBuilder *builder, const gchar *name)
for (ii = 0; ii < count; ii++)
{
title = (hb_title_t*)hb_list_item(list, ii);
- if (title->type == HB_STREAM_TYPE)
+ if (title->type == HB_STREAM_TYPE || title->type == HB_FF_STREAM_TYPE)
{
if (title->duration != 0)
{
diff --git a/libhb/common.h b/libhb/common.h
index b8045234c..a3461e864 100644
--- a/libhb/common.h
+++ b/libhb/common.h
@@ -573,7 +573,7 @@ struct hb_metadata_s
struct hb_title_s
{
- enum { HB_DVD_TYPE, HB_BD_TYPE, HB_STREAM_TYPE } type;
+ enum { HB_DVD_TYPE, HB_BD_TYPE, HB_STREAM_TYPE, HB_FF_STREAM_TYPE } type;
uint32_t reg_desc;
char path[1024];
char name[1024];
diff --git a/libhb/reader.c b/libhb/reader.c
index bd3758eea..d506719d4 100644
--- a/libhb/reader.c
+++ b/libhb/reader.c
@@ -236,7 +236,8 @@ static void ReaderFunc( void * _r )
if ( !( r->dvd = hb_dvd_init( r->title->path ) ) )
return;
}
- else if ( r->title->type == HB_STREAM_TYPE )
+ else if ( r->title->type == HB_STREAM_TYPE ||
+ r->title->type == HB_FF_STREAM_TYPE )
{
if ( !( r->stream = hb_stream_open( r->title->path, r->title ) ) )
return;
diff --git a/libhb/scan.c b/libhb/scan.c
index bec45d373..7b563638a 100644
--- a/libhb/scan.c
+++ b/libhb/scan.c
@@ -555,8 +555,8 @@ static int DecodePreviews( hb_scan_t * data, hb_title_t * title )
}
// If it's a BD, we can relax this a bit. Since seeks will
// at least get us to a recovery point.
- if (data->bd)
- vidskip = 4;
+ if (data->bd || title->type == HB_FF_STREAM_TYPE)
+ vidskip = 2;
}
for( j = 0; j < 10240 ; j++ )
diff --git a/libhb/stream.c b/libhb/stream.c
index 64fa6cba4..5b4d248d0 100644
--- a/libhb/stream.c
+++ b/libhb/stream.c
@@ -3271,7 +3271,7 @@ static hb_title_t *ffmpeg_title_scan( hb_stream_t *stream )
// 'Barebones Title'
hb_title_t *title = hb_title_init( stream->path, 0 );
- title->type = HB_STREAM_TYPE;
+ title->type = HB_FF_STREAM_TYPE;
title->index = 1;
// Copy part of the stream path to the title name
@@ -3309,6 +3309,9 @@ static hb_title_t *ffmpeg_title_scan( hb_stream_t *stream )
title->video_id = i;
stream->ffmpeg_video_id = i;
+ if ( context->codec_id == CODEC_ID_H264 )
+ title->flags |= HBTF_NO_IDR;
+
// We have to use the 'internal' avcodec decoder because
// it needs to share the codec context from this video
// stream. The parser internal to av_read_frame
diff --git a/macosx/Controller.m b/macosx/Controller.m
index 1e3f50547..7af452a98 100644
--- a/macosx/Controller.m
+++ b/macosx/Controller.m
@@ -1901,7 +1901,7 @@ static NSString * ChooseSourceIdentifier = @"Choose Source It
}
/* if we are a stream, select the first title */
- if (title->type == HB_STREAM_TYPE)
+ if (title->type == HB_STREAM_TYPE || title->type == HB_FF_STREAM_TYPE)
{
[fSrcTitlePopUp selectItemAtIndex: 0];
}
@@ -4195,7 +4195,8 @@ bool one_burned = FALSE;
hb_list_item( list, [fSrcTitlePopUp indexOfSelectedItem] );
/* If we are a stream type and a batch scan, grok the output file name from title->name upon title change */
- if (title->type == HB_STREAM_TYPE && hb_list_count( list ) > 1 )
+ if ((title->type == HB_STREAM_TYPE || title->type == HB_FF_STREAM_TYPE) &&
+ hb_list_count( list ) > 1 )
{
/* we set the default name according to the new title->name */
[fDstFile2Field setStringValue: [NSString stringWithFormat:
diff --git a/test/test.c b/test/test.c
index c6363a036..97ecfd3e9 100644
--- a/test/test.c
+++ b/test/test.c
@@ -385,7 +385,7 @@ static void PrintTitleInfo( hb_title_t * title )
{
fprintf( stderr, " + Main Feature\n" );
}
- if ( title->type == HB_STREAM_TYPE )
+ if ( title->type == HB_STREAM_TYPE || title->type == HB_FF_STREAM_TYPE )
{
fprintf( stderr, " + stream: %s\n", title->path );
}