diff options
author | jstebbins <[email protected]> | 2010-09-08 16:51:59 +0000 |
---|---|---|
committer | jstebbins <[email protected]> | 2010-09-08 16:51:59 +0000 |
commit | a007891bf9f7e53d3705c51b5b41f9e56a144031 (patch) | |
tree | b7a532c24a458d549afb0174c374e631b896a46e /gtk | |
parent | 772c3574758e9bc29cb76bbc86343cf9ad5ddd71 (diff) |
Add Bluray support
Unencrypted BD directory trees only. Doesn't support iso images.
Also, no PGS subtitle support yet.
Chapters and angles are supported.
Adds a new contrib libbluray.
Adds new option to hb_scan() for duration of short titles to filter.
This applies to BD and DVD multi-title scans only. Does not apply
to any single title scans.
Fixes memory leak during scan. hb_buffer_close() was not freeing
all buffers in a chain of buffers passed to it.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3510 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/src/Makefile.am | 4 | ||||
-rw-r--r-- | gtk/src/callbacks.c | 3 | ||||
-rw-r--r-- | gtk/src/ghb.ui | 55 | ||||
-rw-r--r-- | gtk/src/hb-backend.c | 6 | ||||
-rw-r--r-- | gtk/src/hb-backend.h | 2 | ||||
-rw-r--r-- | gtk/src/internal_defaults.xml | 2 |
6 files changed, 64 insertions, 8 deletions
diff --git a/gtk/src/Makefile.am b/gtk/src/Makefile.am index 12d23b11e..42d5d7f78 100644 --- a/gtk/src/Makefile.am +++ b/gtk/src/Makefile.am @@ -5,13 +5,13 @@ HB_LIBS= \ -lhb -la52 -lmkv -lavformat -lavcodec -lavutil -ldca -ldvdnav -ldvdread \ -lfaac -lmp3lame -lmpeg2 -lvorbis -lvorbisenc -logg -lsamplerate \ -lx264 -lmp4v2 -lswscale -ltheora -lfaad -lz \ - -lbz2 -liberty -lpthreadGC2 + -lbz2 -liberty -lpthreadGC2 -lbluray else HB_LIBS= \ -lhb -la52 -lmkv -lavformat -lavcodec -lavutil -ldca -ldvdnav -ldvdread \ -lfaac -lmp3lame -lmpeg2 -lvorbis -lvorbisenc -logg -lsamplerate \ -lx264 -lmp4v2 -lswscale -ltheora -lfaad -lz \ - -lbz2 -lpthread + -lbz2 -lpthread -lbluray endif icons = \ diff --git a/gtk/src/callbacks.c b/gtk/src/callbacks.c index 331342e68..c29d4a8ac 100644 --- a/gtk/src/callbacks.c +++ b/gtk/src/callbacks.c @@ -884,7 +884,8 @@ start_scan( gtk_action_set_sensitive(action, FALSE); action = GHB_ACTION(ud->builder, "source_single_action"); gtk_action_set_sensitive(action, FALSE); - ghb_backend_scan(path, titlenum, preview_count); + ghb_backend_scan(path, titlenum, preview_count, + 90000L * ghb_settings_get_int64(ud->settings, "MinTitleDuration")); } void diff --git a/gtk/src/ghb.ui b/gtk/src/ghb.ui index 64cfa2a12..db2dadd31 100644 --- a/gtk/src/ghb.ui +++ b/gtk/src/ghb.ui @@ -272,6 +272,14 @@ <property name="page_size">0</property> <property name="value">10</property> </object> + <object class="GtkAdjustment" id="min_title_adj"> + <property name="upper">7200</property> + <property name="lower">0</property> + <property name="page_increment">10</property> + <property name="step_increment">5</property> + <property name="page_size">0</property> + <property name="value">10</property> + </object> <object class="GtkImage" id="subtitle_add_image"> <property name="visible">True</property> <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> @@ -4075,6 +4083,51 @@ no-fast-pskip=0:no-dct-decimate=0:cabac=1</property> </packing> </child> <child> + <object class="GtkAlignment" id="alignment58"> + <property name="visible">True</property> + <property name="top_padding">6</property> + <property name="bottom_padding">6</property> + <property name="left_padding">12</property> + <child> + <object class="GtkHBox" id="hbox60"> + <property name="visible">True</property> + <property name="spacing">4</property> + <child> + <object class="GtkSpinButton" id="MinTitleDuration"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="max_length">4</property> + <property name="invisible_char">●</property> + <property name="shadow_type">none</property> + <property name="adjustment">min_title_adj</property> + <property name="numeric">True</property> + <signal name="value_changed" handler="pref_changed_cb"/> + </object> + <packing> + <property name="expand">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkLabel" id="label70"> + <property name="visible">True</property> + <property name="label" translatable="yes">Filter short titles (seconds)</property> + <property name="use_markup">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="position">1</property> + </packing> + </child> + </object> + </child> + </object> + <packing> + <property name="expand">False</property> + <property name="position">4</property> + </packing> + </child> + <child> <object class="GtkAlignment" id="alignment64"> <property name="visible">True</property> <property name="top_padding">6</property> @@ -4093,7 +4146,7 @@ no-fast-pskip=0:no-dct-decimate=0:cabac=1</property> </object> <packing> <property name="expand">False</property> - <property name="position">4</property> + <property name="position">5</property> </packing> </child> </object> diff --git a/gtk/src/hb-backend.c b/gtk/src/hb-backend.c index 1dee59666..8ebdd1d17 100644 --- a/gtk/src/hb-backend.c +++ b/gtk/src/hb-backend.c @@ -3205,9 +3205,9 @@ void ghb_backend_scan_stop() } void -ghb_backend_scan(const gchar *path, gint titleindex, gint preview_count) +ghb_backend_scan(const gchar *path, gint titleindex, gint preview_count, uint64_t min_duration) { - hb_scan( h_scan, path, titleindex, preview_count, 1 ); + hb_scan( h_scan, path, titleindex, preview_count, 1, min_duration ); hb_status.scan.state |= GHB_STATE_SCANNING; // initialize count and cur to something that won't cause FPE // when computing progress @@ -3219,7 +3219,7 @@ void ghb_backend_queue_scan(const gchar *path, gint titlenum) { g_debug("ghb_backend_queue_scan()"); - hb_scan( h_queue, path, titlenum, 10, 0 ); + hb_scan( h_queue, path, titlenum, 10, 0, 0 ); hb_status.queue.state |= GHB_STATE_SCANNING; } diff --git a/gtk/src/hb-backend.h b/gtk/src/hb-backend.h index 10f9e97a4..4ca04f07b 100644 --- a/gtk/src/hb-backend.h +++ b/gtk/src/hb-backend.h @@ -124,7 +124,7 @@ gint ghb_get_scan_state(); gint ghb_get_queue_state(); void ghb_get_status(ghb_status_t *status); void ghb_track_status(void); -void ghb_backend_scan(const gchar *path, gint titleindex, gint preview_count); +void ghb_backend_scan(const gchar *path, gint titleindex, gint preview_count, guint64 min_duration); void ghb_backend_scan_stop(); void ghb_backend_queue_scan(const gchar *path, gint titleindex); gboolean ghb_get_title_info(ghb_title_info_t *tinfo, gint titleindex); diff --git a/gtk/src/internal_defaults.xml b/gtk/src/internal_defaults.xml index d6474329c..0e41912f1 100644 --- a/gtk/src/internal_defaults.xml +++ b/gtk/src/internal_defaults.xml @@ -157,6 +157,8 @@ <true /> <key>reduce_hd_preview</key> <true /> + <key>MinTitleDuration</key> + <integer>10</integer> <key>preview_count</key> <integer>10</integer> <key>preview_fullscreen</key> |