[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