~ubuntu-branches/ubuntu/precise/me-tv/precise-proposed

« back to all changes in this revision

Viewing changes to src/xine_engine.h

  • Committer: Bazaar Package Importer
  • Author(s): Michael Lamothe
  • Date: 2008-02-12 21:56:59 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20080212215659-g3u4v9iz8wzxu2cd
Tags: 0.5.17-1
New upstream release (Closes: #464922)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/*
2
 
 * Copyright (C) 2007 Michael Lamothe
 
2
 * Copyright (C) 2008 Michael Lamothe
 
3
 *
 
4
 * This file is part of Me TV
3
5
 *
4
6
 * This program is free software; you can redistribute it and/or modify
5
7
 * it under the terms of the GNU General Public License as published by
19
21
#ifndef __XINE_ENGINE_H__
20
22
#define __XINE_ENGINE_H__
21
23
 
22
 
#include <glibmm.h>
23
24
#include <xine.h>
24
25
#include "configuration.h"
25
26
#include "engine.h"
26
27
 
27
 
class XineConfigurationSection : public NameValueConfigurationSection
28
 
{
29
 
public:
30
 
        XineConfigurationSection(Configuration& configuration);
31
 
};
32
 
 
33
28
class XineEngine : public Engine
34
29
{
35
30
private:
37
32
        xine_stream_t*                          stream;
38
33
        xine_video_port_t*                      video_port;
39
34
        xine_audio_port_t*                      audio_port;
40
 
        int                                                     width, height;
 
35
        gint                                            width, height;
41
36
        double                                          pixel_aspect;
42
37
        gboolean                                        mute_state;
43
 
        FileStream*                                     fifo_output_stream;
44
 
        Glib::ustring                           fifo_path;
45
 
        XineConfigurationSection*       xine_configuration_section;
 
38
        IO::Channel*                            fifo_output_stream;
 
39
        String                                          fifo_path;
46
40
        GThread*                                        video_thread;
47
41
        GtkWidget*                                      widget;
48
42
        GStaticRecMutex                         size_mutex;
49
43
        Display*                                        display;
50
44
        Window                                          window_id;
 
45
        gint                                            current_dual_language_state;
51
46
        
52
47
        static void dest_size_cb ( void *data,
53
48
                int video_width, int video_height, double video_pixel_aspect,
60
55
        static gboolean on_expose(GtkWidget* widget, GdkEventExpose* event, XineEngine* engine);
61
56
        static void on_size(GtkWidget* widget, GdkEventConfigure *requisition, XineEngine* engine);
62
57
        
63
 
        void write(const void* buffer, unsigned int length);
 
58
        void write(const gchar* buffer, gsize length);
64
59
        void open();
65
60
        void close();
66
61
        void expose();
67
 
        void expose(int x, int y, int width, int height);
68
 
        
 
62
        void expose(gint x, gint y, gint width, gint height);
69
63
        void mute(gboolean state);
70
 
        
71
 
        void set_audio_channel(int channel);    
72
 
        void set_subtitle_channel(int channel);
 
64
        void set_audio_channel(gint channel);   
 
65
        void set_subtitle_channel(gint channel);
 
66
        void set_dual_language_state(gint state);
73
67
        
74
68
public:
75
69
        XineEngine ();