[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