OSDN Git Service

Show the name of the DVD instead of /dev/rdiskX
[handbrake-jp/handbrake-jp-git.git] / libhb / hb.h
1 /* $Id: hb.h,v 1.12 2005/03/29 09:40:28 titer Exp $
2
3    This file is part of the HandBrake source code.
4    Homepage: <http://handbrake.m0k.org/>.
5    It may be used under the terms of the GNU General Public License. */
6
7 #ifndef HB_HB_H
8 #define HB_HB_H
9
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13
14 #include "common.h"
15
16 /* hb_init()
17    Initializes a libhb session (launches his own thread, detects CPUs,
18    etc) */
19 #define HB_DEBUG_NONE 0
20 #define HB_DEBUG_ALL  1
21 void          hb_register( hb_work_object_t * );
22 hb_handle_t * hb_init_real( int verbose, int update_check );
23
24 #define hb_init(v,u) \
25 hb_init_real( v, u ); \
26 hb_register( &hb_sync ); \
27 hb_register( &hb_decmpeg2 ); \
28 hb_register( &hb_decsub ); \
29 hb_register( &hb_render ); \
30 hb_register( &hb_encavcodec ); \
31 hb_register( &hb_encxvid ); \
32 hb_register( &hb_encx264 ); \
33 hb_register( &hb_deca52 ); \
34 hb_register( &hb_decavcodec ); \
35 hb_register( &hb_declpcm ); \
36 hb_register( &hb_encfaac ); \
37 hb_register( &hb_enclame ); \
38 hb_register( &hb_encvorbis ); \
39
40 #define hb_init_express(v,u) \
41 hb_init_real( v, u ); \
42 hb_register( &hb_sync ); \
43 hb_register( &hb_decmpeg2 ); \
44 hb_register( &hb_decsub ); \
45 hb_register( &hb_render ); \
46 hb_register( &hb_encavcodec ); \
47 hb_register( &hb_encx264 ); \
48 hb_register( &hb_deca52 ); \
49 hb_register( &hb_decavcodec ); \
50 hb_register( &hb_declpcm ); \
51 hb_register( &hb_encfaac ); \
52
53 /* hb_get_version() */
54 char        * hb_get_version( hb_handle_t * );
55 int           hb_get_build( hb_handle_t * );
56
57 /* hb_check_update()
58    Checks for an update on the website. If there is, returns the build
59    number and points 'version' to a version description. Returns a
60    negative value otherwise. */
61 int           hb_check_update( hb_handle_t * h, char ** version );
62
63 /* hb_set_cpu_count()
64    Force libhb to act as if you had X CPU(s).
65    Default is to use the detected count (see also hb_get_cpu_count() in
66    ports.h) */
67 void          hb_set_cpu_count( hb_handle_t *, int );
68
69 char *        hb_dvd_name( char * path );
70
71 /* hb_scan()
72    Scan the specified path. Can be a DVD device, a VIDEO_TS folder or
73    a VOB file. If title_index is 0, scan all titles. */
74 void          hb_scan( hb_handle_t *, const char * path,
75                        int title_index );
76
77 /* hb_get_titles()
78    Returns the list of valid titles detected by the latest scan. */
79 hb_list_t   * hb_get_titles( hb_handle_t * );
80
81 void          hb_get_preview( hb_handle_t *, hb_title_t *, int,
82                               uint8_t * );
83 void          hb_set_size( hb_job_t *, int ratio, int pixels );
84
85 /* Handling jobs */
86 int           hb_count( hb_handle_t * );
87 hb_job_t *    hb_job( hb_handle_t *, int );
88 void          hb_add( hb_handle_t *, hb_job_t * );
89 void          hb_rem( hb_handle_t *, hb_job_t * );
90
91 void          hb_start( hb_handle_t * );
92 void          hb_pause( hb_handle_t * );
93 void          hb_resume( hb_handle_t * );
94 void          hb_stop( hb_handle_t * );
95
96 /* hb_get_state()
97    Should be regularly called by the UI (like 5 or 10 times a second).
98    Look at test/test.c to see how to use it. */
99 void hb_get_state( hb_handle_t *, hb_state_t * );
100
101 /* hb_close()
102    Aborts all current jobs if any, frees memory. */
103 void          hb_close( hb_handle_t ** );
104
105 #ifdef __cplusplus
106 }
107 #endif
108
109 #endif