[xiph-commits] r3090 - liboggplay/trunk/plugin
shans at svn.annodex.net
shans at svn.annodex.net
Wed Jun 27 00:54:20 PDT 2007
Author: shans
Date: 2007-06-27 00:54:19 -0700 (Wed, 27 Jun 2007)
New Revision: 3090
Modified:
liboggplay/trunk/plugin/plugin_oggplay.c
Log:
Got seeking working on linux (unfortunately by removing the worked/failed
response)
Modified: liboggplay/trunk/plugin/plugin_oggplay.c
===================================================================
--- liboggplay/trunk/plugin/plugin_oggplay.c 2007-06-27 06:41:23 UTC (rev 3089)
+++ liboggplay/trunk/plugin/plugin_oggplay.c 2007-06-27 07:54:19 UTC (rev 3090)
@@ -64,11 +64,17 @@
char * location;
char * proxy;
int proxy_port;
- int seek_flag;
+ long long padding0;
+ semaphore seek_sem;
+ long long padding1;
+ volatile int seek_flag;
+ long long padding2;
long seek_pos;
+ long long padding3;
OggPlayErrorCode seek_err;
- semaphore seek_sem;
+ long long padding4;
semaphore start_stop_sem;
+ long long padding5;
long last_displayed_frame_time;
#if defined(XP_UX)
pthread_t thread;
@@ -232,6 +238,9 @@
goto thread_shutdown;
}
+ r = oggplay_step_decoding(pointers->player);
+ pointers->available = oggplay_get_available(pointers->player);
+
if (pointers->seek_flag) {
SEM_WAIT(pointers->seek_sem);
pointers->seek_err = oggplay_seek(pointers->player, pointers->seek_pos);
@@ -239,8 +248,6 @@
SEM_SIGNAL(pointers->seek_sem);
}
- r = oggplay_step_decoding(pointers->player);
- pointers->available = oggplay_get_available(pointers->player);
}
if (r != E_OGGPLAY_CONTINUE && r != E_OGGPLAY_USER_INTERRUPT) {
@@ -371,22 +378,6 @@
frame_data->oggplay_info = (void *)track_info;
- /* testing red field
- {
- int i;
- unsigned long *outp;
- oggplay_get_video_y_size(player, 2, &y_width, &y_height);
- out = malloc(y_width * y_height * 4);
- outp = (unsigned long *)out;
- for (i = 0; i < y_width * y_height; i++)
- outp[i] = 0x00FF0000;
- (*frame) = out;
- (*width) = y_width;
- (*height) = y_height;
- return;
- }
- end test */
-
num_tracks = oggplay_get_num_tracks(player);
for (i = 0; i < num_tracks; i++) {
@@ -539,13 +530,8 @@
pointers->seek_flag = 1;
SEM_SIGNAL(pointers->seek_sem);
- while (pointers->seek_flag) {
- if (pointers->shutdown_oggplay) {
- return TRUE;
- }
- oggplay_millisleep(1);
- }
- return (pointers->seek_err == E_OGGPLAY_OK);
+ return TRUE;
+
}
int
More information about the commits
mailing list