[Cvs-annodex] commit (annodex): liboggplay/trunk/include/oggplay/oggplay_enums.h liboggplay/trunk/src/liboggplay/oggplay.c liboggplay/trunk/src/liboggplay/oggplay_callback.c liboggplay/trunk/src/liboggplay/oggplay_data.c liboggplay/trunk/src/tests/dump-all-streams.c

shans nobody at lists.annodex.net
Thu Sep 21 04:56:05 UTC 2006


Update of /var/local/lib/svn/annodex (new revision 2506)

Modified files:
   liboggplay/trunk/include/oggplay/oggplay_enums.h
   liboggplay/trunk/src/liboggplay/oggplay.c
   liboggplay/trunk/src/liboggplay/oggplay_callback.c
   liboggplay/trunk/src/liboggplay/oggplay_data.c
   liboggplay/trunk/src/tests/dump-all-streams.c

Log Message:
Switched fishsound to retrieving data as floats - audio now works.



Modified: liboggplay/trunk/include/oggplay/oggplay_enums.h
===================================================================
--- liboggplay/trunk/include/oggplay/oggplay_enums.h	2006-09-20 06:09:28 UTC (rev 2505)
+++ liboggplay/trunk/include/oggplay/oggplay_enums.h	2006-09-21 04:56:04 UTC (rev 2506)
@@ -59,6 +59,7 @@
   OGGPLAY_INACTIVE      = -1,
   OGGPLAY_YUV_VIDEO     = 0,
   OGGPLAY_SHORTS_AUDIO  = 1000,
+  OGGPLAY_FLOATS_AUDIO  = 1001,
   OGGPLAY_CMML          = 2000,
   OGGPLAY_TYPE_UNKNOWN  = 3000
 } OggPlayDataType;

Modified: liboggplay/trunk/src/liboggplay/oggplay.c
===================================================================
--- liboggplay/trunk/src/liboggplay/oggplay.c	2006-09-20 06:09:28 UTC (rev 2505)
+++ liboggplay/trunk/src/liboggplay/oggplay.c	2006-09-21 04:56:04 UTC (rev 2506)
@@ -208,7 +208,7 @@
     return E_OGGPLAY_BAD_TRACK;
   }
 
-  if (me->decode_data[track]->decoded_type != OGGPLAY_SHORTS_AUDIO) {
+  if (me->decode_data[track]->decoded_type != OGGPLAY_FLOATS_AUDIO) {
     return E_OGGPLAY_WRONG_TRACK_TYPE;
   }
 
@@ -235,7 +235,7 @@
     return E_OGGPLAY_BAD_TRACK;
   }
 
-  if (me->decode_data[track]->decoded_type != OGGPLAY_SHORTS_AUDIO) {
+  if (me->decode_data[track]->decoded_type != OGGPLAY_FLOATS_AUDIO) {
     return E_OGGPLAY_WRONG_TRACK_TYPE;
   }
 

Modified: liboggplay/trunk/src/liboggplay/oggplay_callback.c
===================================================================
--- liboggplay/trunk/src/liboggplay/oggplay_callback.c	2006-09-20 06:09:28 UTC (rev 2505)
+++ liboggplay/trunk/src/liboggplay/oggplay_callback.c	2006-09-21 04:56:04 UTC (rev 2506)
@@ -156,7 +156,7 @@
 }
 
 int
-oggplay_fish_sound_callback_shorts(FishSound * fsound, short ** pcm, 
+oggplay_fish_sound_callback_floats(FishSound * fsound, float ** pcm, 
                                           long frames, void *user_data) {
 
   OggPlayVorbisDecode *decoder = (OggPlayVorbisDecode *)user_data;
@@ -167,7 +167,7 @@
   }
   
   oggplay_data_handle_vorbis_data(&(decoder->decoder), (short *)pcm, frames, 
-              sizeof(short));
+              sizeof(float));
   return FISH_SOUND_CONTINUE;
 }
 
@@ -181,11 +181,11 @@
 
   decoder->sound_info.channels = 0;  
   fish_sound_set_interleave(decoder->sound_handle, 1);
-  fish_sound_set_decoded_short_ilv(decoder->sound_handle, 
-                                      oggplay_fish_sound_callback_shorts, 
+  fish_sound_set_decoded_float_ilv(decoder->sound_handle, 
+                                      oggplay_fish_sound_callback_floats, 
                                       (void *)decoder);
  
-  decoder->decoder.decoded_type = OGGPLAY_SHORTS_AUDIO;
+  decoder->decoder.decoded_type = OGGPLAY_FLOATS_AUDIO;
 } 
 int
 oggplay_callback_vorbis (OGGZ * oggz, ogg_packet * op, long serialno, 

Modified: liboggplay/trunk/src/liboggplay/oggplay_data.c
===================================================================
--- liboggplay/trunk/src/liboggplay/oggplay_data.c	2006-09-20 06:09:28 UTC (rev 2505)
+++ liboggplay/trunk/src/liboggplay/oggplay_data.c	2006-09-21 04:56:04 UTC (rev 2506)
@@ -145,9 +145,12 @@
   record->header.samples_in_record = samples;
   
   record->data = (void *)(record + 1);
-          
+
   memcpy(record->data, data, samples * samplesize * num_channels);
-  
+  /*
+  printf("[%f%f%f]\n", ((float *)record->data)[0], ((float *)record->data)[1], 
+                    ((float *)record->data)[2]);
+  */
   oggplay_data_add_to_list(decode, &(record->header));
 }
 

Modified: liboggplay/trunk/src/tests/dump-all-streams.c
===================================================================
--- liboggplay/trunk/src/tests/dump-all-streams.c	2006-09-20 06:09:28 UTC (rev 2505)
+++ liboggplay/trunk/src/tests/dump-all-streams.c	2006-09-21 04:56:04 UTC (rev 2506)
@@ -69,11 +69,12 @@
     sfinfo.samplerate = oggplay_get_audio_samplerate(player, track);
     sfinfo.channels = oggplay_get_audio_channels(player, track);
     sfinfo.format = SF_FORMAT_WAV | SF_FORMAT_PCM_16;
+    printf("%d %d %d\n", sfinfo.samplerate, sfinfo.channels, sfinfo.format);
 
     sndfile = sf_open ("audio", SFM_WRITE, &sfinfo);
   }
 
-  sf_writef_short (sndfile, data, size);
+  sf_writef_float (sndfile, data, size);
   
 }
 
@@ -103,7 +104,7 @@
         video_data = oggplay_callback_info_get_video_data(headers[0]);
         dump_video_data(player, i, video_data, n_frames);
         break;
-      case OGGPLAY_SHORTS_AUDIO:
+      case OGGPLAY_FLOATS_AUDIO:
         required = oggplay_callback_info_get_required(track_info[i]);
         for (j = 0; j < required; j++) {
           int size;


-- 
shans



More information about the cvs-annodex mailing list