~titan-lien/ubuntu/saucy/totem/totem.dev

« back to all changes in this revision

Viewing changes to src/backend/bacon-video-widget.h

  • Committer: Package Import Robot
  • Author(s): Michael Biebl, Sjoerd Simons, Michael Biebl, Josselin Mouette
  • Date: 2011-11-27 06:21:34 UTC
  • mfrom: (1.4.8) (5.1.23 sid)
  • Revision ID: package-import@ubuntu.com-20111127062134-c3ikko9wdfn9m2av
Tags: 3.2.1-1
[ Sjoerd Simons ]
* New upstream release
* debian/control.in: Update build-depends
* debian/rules: Enable vala plugins
* debian/totem-plugins.install:
  - Add grilo and rotation plugins
  - Remove jamendo, thumbnail and tracker plugins

[ Michael Biebl ]
* debian/control.in:
  - Bump Depends on python-gobject to (>= 2.90.3).

[ Josselin Mouette ]
* Replace python-gobject dependencies by python-gi.

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
#ifndef HAVE_BACON_VIDEO_WIDGET_H
29
29
#define HAVE_BACON_VIDEO_WIDGET_H
30
30
 
31
 
#include <gtk/gtk.h>
 
31
#include <clutter-gtk/clutter-gtk.h>
32
32
/* for optical disc enumeration type */
33
33
#include <totem-disc.h>
34
34
 
51
51
 **/
52
52
typedef struct {
53
53
        /*< private >*/
54
 
        GtkEventBox parent;
 
54
        GtkClutterEmbed parent;
55
55
        BaconVideoWidgetPrivate *priv;
56
56
} BaconVideoWidget;
57
57
 
62
62
 **/
63
63
typedef struct {
64
64
        /*< private >*/
65
 
        GtkEventBoxClass parent_class;
 
65
        GtkClutterEmbedClass parent_class;
66
66
 
67
67
        void (*error) (GtkWidget *bvw, const char *message,
68
68
                       gboolean playback_stopped, gboolean fatal);
139
139
GQuark bacon_video_widget_error_quark            (void) G_GNUC_CONST;
140
140
GType bacon_video_widget_get_type                (void);
141
141
GOptionGroup* bacon_video_widget_get_option_group (void);
142
 
/* This can be used if the app does not use popt */
143
 
void bacon_video_widget_init_backend             (int *argc, char ***argv);
144
 
 
145
 
/**
146
 
 * BvwUseType:
147
 
 * @BVW_USE_TYPE_VIDEO: fully-featured with video, audio, capture and metadata support
148
 
 * @BVW_USE_TYPE_AUDIO: audio and metadata support
149
 
 * @BVW_USE_TYPE_CAPTURE: capture support only
150
 
 * @BVW_USE_TYPE_METADATA: metadata support only
151
 
 *
152
 
 * The purpose for which a #BaconVideoWidget will be used, as specified to
153
 
 * bacon_video_widget_new(). This determines which features will be enabled
154
 
 * in the created widget.
155
 
 **/
156
 
typedef enum {
157
 
        BVW_USE_TYPE_VIDEO,
158
 
        BVW_USE_TYPE_AUDIO,
159
 
        BVW_USE_TYPE_CAPTURE,
160
 
        BVW_USE_TYPE_METADATA
161
 
} BvwUseType;
162
 
 
163
 
GtkWidget *bacon_video_widget_new                (int width, int height,
164
 
                                                  BvwUseType type,
165
 
                                                  GError **error);
 
142
 
 
143
GtkWidget *bacon_video_widget_new                (GError **error);
166
144
 
167
145
char *bacon_video_widget_get_backend_name (BaconVideoWidget *bvw);
168
146
 
282
260
 * @BVW_INFO_DURATION: the stream's duration, in seconds
283
261
 * @BVW_INFO_TRACK_NUMBER: the track number of the work on the album
284
262
 * @BVW_INFO_COVER: a #GdkPixbuf of the cover artwork
 
263
 * @BVW_INFO_CONTAINER: the type of stream container
285
264
 * @BVW_INFO_HAS_VIDEO: whether the stream has video
286
265
 * @BVW_INFO_DIMENSION_X: the video's width, in pixels
287
266
 * @BVW_INFO_DIMENSION_Y: the video's height, in pixels
306
285
        BVW_INFO_DURATION,
307
286
        BVW_INFO_TRACK_NUMBER,
308
287
        BVW_INFO_COVER,
 
288
        BVW_INFO_CONTAINER,
309
289
        /* Video */
310
290
        BVW_INFO_HAS_VIDEO,
311
291
        BVW_INFO_DIMENSION_X,
388
368
        BVW_RATIO_DVB = 4
389
369
} BvwAspectRatio;
390
370
 
 
371
/**
 
372
 * BvwZoomMode:
 
373
 * @BVW_ZOOM_NONE: No video zooming/cropping
 
374
 * @BVW_ZOOM_EXPAND: Fill area with video, and crop the excess
 
375
 *
 
376
 * The zoom mode used by the video widget, as set by
 
377
 * bacon_video_widget_set_zoom().
 
378
 **/
 
379
typedef enum {
 
380
        BVW_ZOOM_NONE = 0,
 
381
        BVW_ZOOM_EXPAND = 1
 
382
} BvwZoomMode;
 
383
 
391
384
void bacon_video_widget_set_deinterlacing        (BaconVideoWidget *bvw,
392
385
                                                  gboolean deinterlace);
393
386
gboolean bacon_video_widget_get_deinterlacing    (BaconVideoWidget *bvw);
401
394
                                                  float ratio);
402
395
 
403
396
void bacon_video_widget_set_zoom                 (BaconVideoWidget *bvw,
404
 
                                                  double zoom);
405
 
double bacon_video_widget_get_zoom               (BaconVideoWidget *bvw);
 
397
                                                  BvwZoomMode       mode);
 
398
BvwZoomMode bacon_video_widget_get_zoom          (BaconVideoWidget *bvw);
406
399
 
407
400
int bacon_video_widget_get_video_property        (BaconVideoWidget *bvw,
408
401
                                                  BvwVideoProperty type);
410
403
                                                  BvwVideoProperty type,
411
404
                                                  int value);
412
405
 
 
406
void bacon_video_widget_set_next_angle           (BaconVideoWidget *bvw);
 
407
 
413
408
gboolean bacon_video_widget_has_menus            (BaconVideoWidget *bvw);
 
409
gboolean bacon_video_widget_has_angles           (BaconVideoWidget *bvw);
414
410
 
415
411
/* DVD functions */
416
412
/**
425
421
 * @BVW_DVD_PREV_CHAPTER: the previous chapter
426
422
 * @BVW_DVD_NEXT_TITLE: the next title in the current chapter
427
423
 * @BVW_DVD_PREV_TITLE: the previous title in the current chapter
428
 
 * @BVW_DVD_NEXT_ANGLE: the next angle
429
 
 * @BVW_DVD_PREV_ANGLE: the previous angle
430
424
 * @BVW_DVD_ROOT_MENU_UP: go up in the menu
431
425
 * @BVW_DVD_ROOT_MENU_DOWN: go down in the menu
432
426
 * @BVW_DVD_ROOT_MENU_LEFT: go left in the menu
447
441
        BVW_DVD_PREV_CHAPTER,
448
442
        BVW_DVD_NEXT_TITLE,
449
443
        BVW_DVD_PREV_TITLE,
450
 
        BVW_DVD_NEXT_ANGLE,
451
 
        BVW_DVD_PREV_ANGLE,
452
444
        BVW_DVD_ROOT_MENU_UP,
453
445
        BVW_DVD_ROOT_MENU_DOWN,
454
446
        BVW_DVD_ROOT_MENU_LEFT,