[Cvs-annodex] commit (annodex):
liboggplay/trunk/src/liboggplay/oggplay_buffer.c
liboggplay/trunk/src/liboggplay/oggplay_callback.c
liboggplay/trunk/src/liboggplay/oggplay_callback_info.c
liboggplay/trunk/src/liboggplay/oggplay_private.h
shans
nobody at lists.annodex.net
Thu Oct 19 03:44:28 UTC 2006
Update of /var/local/lib/svn/annodex (new revision 2528)
Modified files:
liboggplay/trunk/src/liboggplay/oggplay_buffer.c
liboggplay/trunk/src/liboggplay/oggplay_callback.c
liboggplay/trunk/src/liboggplay/oggplay_callback_info.c
liboggplay/trunk/src/liboggplay/oggplay_private.h
Log Message:
split callback_info back out of decode_data, for easier use with buffer
Modified: liboggplay/trunk/src/liboggplay/oggplay_buffer.c
===================================================================
--- liboggplay/trunk/src/liboggplay/oggplay_buffer.c 2006-10-18 05:31:41 UTC (rev 2527)
+++ liboggplay/trunk/src/liboggplay/oggplay_buffer.c 2006-10-19 03:44:27 UTC (rev 2528)
@@ -35,6 +35,7 @@
int k;
OggPlayDataHeader ** headers;
OggPlayBuffer * buffer;
+ OggPlayCallBackInfo * ptr = track_info[0];
if (me->buffer == NULL) {
return -1;
@@ -54,11 +55,16 @@
buffer = me->buffer;
/*
+ * replace the decode_data buffer for the next callback
+ */
+ me->callback_info = malloc(me->num_tracks * sizeof (OggPlayCallbackInfo));
+
+ /*
* fill both mirror and list, mirror first to avoid getting inconsistencies
*/
- buffer->buffer_mirror[++(buffer->last_filled)] = track_info;
- buffer->buffer_list[buffer->last_filled] = track_info;
+ buffer->buffer_mirror[++(buffer->last_filled)] = ptr;
+ buffer->buffer_list[buffer->last_filled] = ptr;
/*
* check for empties
@@ -66,7 +72,7 @@
for (k = 0; i < buffer->size; k++) {
if (buffer->buffer_list[k] == NULL && buffer->buffer_mirror[k] != NULL) {
- OggPlayCallbackInfo **ti = (OggPlayCallbackInfo **)
+ OggPlayCallbackInfo *ti = (OggPlayCallbackInfo *)
}
Modified: liboggplay/trunk/src/liboggplay/oggplay_callback.c
===================================================================
--- liboggplay/trunk/src/liboggplay/oggplay_callback.c 2006-10-18 05:31:41 UTC (rev 2527)
+++ liboggplay/trunk/src/liboggplay/oggplay_callback.c 2006-10-19 03:44:27 UTC (rev 2528)
@@ -332,9 +332,12 @@
}
}
- me->decode_data = realloc (me->decode_data, sizeof (long) * ++me->num_tracks);
+ me->callback_info = realloc (me->callback_info,
+ sizeof (OggPlayCallbackInfo) * ++me->num_tracks);
+ me->decode_data = realloc (me->decode_data, sizeof (long) * me->num_tracks);
me->decode_data[me->num_tracks - 1] = oggplay_initialise_decoder(me,
content_type, serialno);
+ /*me->decode_data->callback_info = me->callback_info + (me->num_tracks - 1);*/
/*
* call appropriate callback
Modified: liboggplay/trunk/src/liboggplay/oggplay_callback_info.c
===================================================================
--- liboggplay/trunk/src/liboggplay/oggplay_callback_info.c 2006-10-18 05:31:41 UTC (rev 2527)
+++ liboggplay/trunk/src/liboggplay/oggplay_callback_info.c 2006-10-19 03:44:27 UTC (rev 2528)
@@ -53,7 +53,7 @@
*/
for (i = 0; i < me->num_tracks; i++) {
OggPlayDecode * track = me->decode_data[i];
- OggPlayCallbackInfo * track_info = &(track->callback_info);
+ OggPlayCallbackInfo * track_info = me->callback_info + i;
int count = 0;
OggPlayDataHeader * p;
Modified: liboggplay/trunk/src/liboggplay/oggplay_private.h
===================================================================
--- liboggplay/trunk/src/liboggplay/oggplay_private.h 2006-10-18 05:31:41 UTC (rev 2527)
+++ liboggplay/trunk/src/liboggplay/oggplay_private.h 2006-10-19 03:44:27 UTC (rev 2528)
@@ -67,24 +67,23 @@
OggPlayDataType data_type;
int available_records;
int required_records;
- int lock;
OggPlayDataHeader ** records;
};
typedef struct {
- long serialno;
- int content_type;
- const char * content_type_name;
- OggPlayDataType decoded_type;
- ogg_int64_t granuleperiod;
- ogg_int64_t last_granulepos;
- ogg_int64_t current_loc;
- int active;
- ogg_int64_t final_granulepos;
- struct _OggPlay * player;
- OggPlayDataHeader * data_list;
- OggPlayDataHeader * end_of_data_list;
- OggPlayCallbackInfo callback_info;
+ long serialno;
+ int content_type;
+ const char * content_type_name;
+ OggPlayDataType decoded_type;
+ ogg_int64_t granuleperiod;
+ ogg_int64_t last_granulepos;
+ ogg_int64_t current_loc;
+ int active;
+ ogg_int64_t final_granulepos;
+ struct _OggPlay * player;
+ OggPlayDataHeader * data_list;
+ OggPlayDataHeader * end_of_data_list;
+ //OggPlayCallbackInfo * callback_info;
} OggPlayDecode;
typedef struct {
@@ -120,6 +119,7 @@
char * input_name;
OGGZ * oggz;
OggPlayDecode ** decode_data;
+ OggPlayCallbackInfo * callback_info;
int num_tracks;
int all_tracks_initialised;
ogg_int64_t callback_period;
--
shans
More information about the cvs-annodex
mailing list