summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/lib.cpp
authorerik <erik>2007-02-05 20:20:18 (UTC)
committer erik <erik>2007-02-05 20:20:18 (UTC)
commita505f79190d4d14a7c9595af3e9b78d9c613da21 (patch) (unidiff)
treebfdeab48ca93857d5c2ec4f7d9380bc61b2c08b1 /noncore/multimedia/opieplayer2/lib.cpp
parentb017b14c0ec6d327e061a1f96209e19fdc59885a (diff)
downloadopie-a505f79190d4d14a7c9595af3e9b78d9c613da21.zip
opie-a505f79190d4d14a7c9595af3e9b78d9c613da21.tar.gz
opie-a505f79190d4d14a7c9595af3e9b78d9c613da21.tar.bz2
BUG: Lack of a << made opieplayer2 uncompilable.
FIX: It is put in now.
Diffstat (limited to 'noncore/multimedia/opieplayer2/lib.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/lib.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/noncore/multimedia/opieplayer2/lib.cpp b/noncore/multimedia/opieplayer2/lib.cpp
index 5f281b7..575f2b2 100644
--- a/noncore/multimedia/opieplayer2/lib.cpp
+++ b/noncore/multimedia/opieplayer2/lib.cpp
@@ -47,97 +47,97 @@ _;:, .> :=|. This program is free software; you can
47#include <assert.h> 47#include <assert.h>
48#include <unistd.h> 48#include <unistd.h>
49 49
50typedef void (*display_xine_frame_t) (void *user_data, uint8_t* frame, 50typedef void (*display_xine_frame_t) (void *user_data, uint8_t* frame,
51 int width, int height,int bytes ); 51 int width, int height,int bytes );
52typedef void (*vo_scale_cb) (void*, int, int, double, 52typedef void (*vo_scale_cb) (void*, int, int, double,
53 int*, int*, int*, int*, double*, int*, int* ); 53 int*, int*, int*, int*, double*, int*, int* );
54typedef void (*dest_size_cb) (void*, int, int, double, int*, int*, double*); 54typedef void (*dest_size_cb) (void*, int, int, double, int*, int*, double*);
55 55
56 56
57extern "C" { 57extern "C" {
58 xine_vo_driver_t* init_video_out_plugin( xine_t *xine, void* video, display_xine_frame_t, void *, vo_scale_cb, dest_size_cb ); 58 xine_vo_driver_t* init_video_out_plugin( xine_t *xine, void* video, display_xine_frame_t, void *, vo_scale_cb, dest_size_cb );
59 int null_is_showing_video( const xine_vo_driver_t* self ); 59 int null_is_showing_video( const xine_vo_driver_t* self );
60 void null_set_show_video( const xine_vo_driver_t* self, int show ); 60 void null_set_show_video( const xine_vo_driver_t* self, int show );
61 void null_set_mode( const xine_vo_driver_t* self, int depth, int rgb ); 61 void null_set_mode( const xine_vo_driver_t* self, int depth, int rgb );
62 void null_display_handler( const xine_vo_driver_t* self, display_xine_frame_t t, void* user_data ); 62 void null_display_handler( const xine_vo_driver_t* self, display_xine_frame_t t, void* user_data );
63} 63}
64 64
65using namespace XINE; 65using namespace XINE;
66 66
67Lib::Lib( InitializationMode initMode, XineVideoWidget* widget ) 67Lib::Lib( InitializationMode initMode, XineVideoWidget* widget )
68{ 68{
69 m_initialized = false; 69 m_initialized = false;
70 m_duringInitialization = false; 70 m_duringInitialization = false;
71 m_video = false; 71 m_video = false;
72 m_wid = widget; 72 m_wid = widget;
73 printf("Lib"); 73 printf("Lib");
74 QString configPath = QDir::homeDirPath() + "/Settings/opiexine.cf"; 74 QString configPath = QDir::homeDirPath() + "/Settings/opiexine.cf";
75 // get the configuration 75 // get the configuration
76 76
77 // not really OO, should be an extra class, later 77 // not really OO, should be an extra class, later
78 if ( !QFile::exists(configPath) ) { 78 if ( !QFile::exists(configPath) ) {
79 QFile f(configPath); 79 QFile f(configPath);
80 if (f.open(IO_WriteOnly)) { 80 if (f.open(IO_WriteOnly)) {
81 QTextStream ts( &f ); 81 QTextStream ts( &f );
82 ts << "misc.memcpy_method:glibc\n"; 82 ts << "misc.memcpy_method:glibc\n";
83 ts << "# uncomment if you experience double speed audio \n #audio.oss_sync_method:softsync\n"; 83 ts << "# uncomment if you experience double speed audio \n #audio.oss_sync_method:softsync\n";
84 ts << "codec.ffmpeg_pp_quality:3\n"; 84 ts << "codec.ffmpeg_pp_quality:3\n";
85 ts << "audio.num_buffers:50\n"; 85 ts << "audio.num_buffers:50\n";
86 ts << "audio.size_buffers:4096\n"; 86 ts << "audio.size_buffers:4096\n";
87 ts << "video.num_buffers:20\n"; 87 ts << "video.num_buffers:20\n";
88 ts << "video.size_buffers:4096\n"; 88 ts << "video.size_buffers:4096\n";
89 ts << "audio.out_num_audio_buf:16\n"; 89 ts << "audio.out_num_audio_buf:16\n";
90 ts << "audio.out_size_audio_buf:8096\n"; 90 ts << "audio.out_size_audio_buf:8096\n";
91 ts << "audio.out_size_zero_buf:1024\n"; 91 ts << "audio.out_size_zero_buf:1024\n";
92 ts << "audio.passthrough_offset:0\n"; 92 ts << "audio.passthrough_offset:0\n";
93 f.close(); 93 f.close();
94 } else 94 } else
95 owarn << "Failed to open " f.name() << oendl; 95 owarn << "Failed to open " << f.name() << oendl;
96 } 96 }
97 97
98 if ( initMode == InitializeImmediately ) { 98 if ( initMode == InitializeImmediately ) {
99 initialize(); 99 initialize();
100 m_initialized = true; 100 m_initialized = true;
101 } 101 }
102 else 102 else
103 start(); 103 start();
104} 104}
105 105
106void Lib::run() 106void Lib::run()
107{ 107{
108 odebug << "Lib::run() started" << oendl; 108 odebug << "Lib::run() started" << oendl;
109 initialize(); 109 initialize();
110 m_initialized = true; 110 m_initialized = true;
111 odebug << "Lib::run() finished" << oendl; 111 odebug << "Lib::run() finished" << oendl;
112} 112}
113 113
114void Lib::initialize() 114void Lib::initialize()
115{ 115{
116 m_duringInitialization = true; 116 m_duringInitialization = true;
117 m_xine = xine_new( ); 117 m_xine = xine_new( );
118 118
119 QString configPath = QDir::homeDirPath() + "/Settings/opiexine.cf"; 119 QString configPath = QDir::homeDirPath() + "/Settings/opiexine.cf";
120 xine_config_load( m_xine, QFile::encodeName( configPath ) ); 120 xine_config_load( m_xine, QFile::encodeName( configPath ) );
121 121
122 xine_init( m_xine ); 122 xine_init( m_xine );
123 123
124 // allocate oss for sound 124 // allocate oss for sound
125 // and fb for framebuffer 125 // and fb for framebuffer
126 m_audioOutput = xine_open_audio_driver( m_xine, "oss", NULL ); 126 m_audioOutput = xine_open_audio_driver( m_xine, "oss", NULL );
127 m_videoOutput = ::init_video_out_plugin( m_xine, NULL, 127 m_videoOutput = ::init_video_out_plugin( m_xine, NULL,
128 xine_display_frame, this, 128 xine_display_frame, this,
129 xine_vo_scale_cb, 129 xine_vo_scale_cb,
130 xine_dest_cb ); 130 xine_dest_cb );
131 131
132 m_stream = xine_stream_new (m_xine, m_audioOutput, m_videoOutput ); 132 m_stream = xine_stream_new (m_xine, m_audioOutput, m_videoOutput );
133 xine_set_param( m_stream, XINE_PARAM_AUDIO_CLOSE_DEVICE, 1); 133 xine_set_param( m_stream, XINE_PARAM_AUDIO_CLOSE_DEVICE, 1);
134 134
135 if (m_wid != 0 ) 135 if (m_wid != 0 )
136 setWidget( m_wid ); 136 setWidget( m_wid );
137 137
138 138
139 m_queue = xine_event_new_queue (m_stream); 139 m_queue = xine_event_new_queue (m_stream);
140 xine_event_create_listener_thread (m_queue, xine_event_handler, this); 140 xine_event_create_listener_thread (m_queue, xine_event_handler, this);
141 141
142 m_duringInitialization = false; 142 m_duringInitialization = false;
143} 143}