From b304b3bc9326f4c219b90049b4342b064e4ede04 Mon Sep 17 00:00:00 2001 From: arpi_esp Date: Sun, 13 May 2001 19:18:52 +0000 Subject: [PATCH] test2 added for playback test, testreanmed to test1 to make Atmosfear happy... git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@790 b3059339-0415-0410-9bf9-f77b7e298cf2 --- mp3lib/Makefile | 7 +++-- mp3lib/test2.c | 68 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+), 2 deletions(-) create mode 100644 mp3lib/test2.c diff --git a/mp3lib/Makefile b/mp3lib/Makefile index e05bd8cc1f..575a0756ba 100644 --- a/mp3lib/Makefile +++ b/mp3lib/Makefile @@ -18,8 +18,11 @@ CFLAGS = $(OPTFLAGS) libMP3.a: .depend $(OBJS) $(AR) r libMP3.a $(OBJS) -test: libMP3.a test.c - $(CC) $(CFLAGS) test.c -o test -I.. -L. -lMP3 +test1: libMP3.a test.c + $(CC) $(CFLAGS) test.c -o test1 -I.. -L. -lMP3 + +test2: libMP3.a test2.c + $(CC) $(CFLAGS) test2.c -o test2 -I.. -L. -lMP3 all: libMP3.a diff --git a/mp3lib/test2.c b/mp3lib/test2.c new file mode 100644 index 0000000000..103b7ce17f --- /dev/null +++ b/mp3lib/test2.c @@ -0,0 +1,68 @@ + +// gcc test.c -I.. -L. -lMP3 -o test -O4 + +#include +#include + +#include +#include +#include +#include + +#include "mp3lib/mp3.h" +#include "config.h" + +static FILE* mp3file=NULL; + +int mplayer_audio_read(char *buf,int size){ + return fread(buf,1,size,mp3file); +} + +#define BUFFLEN 4608 +static unsigned char buffer[BUFFLEN]; + +int main(int argc,char* argv[]){ + int len; + int total=0; + float length; + int r; + int audio_fd; + + mp3file=fopen((argc>1)?argv[1]:"test.mp3","rb"); + if(!mp3file){ printf("file not found\n"); exit(1); } + + // MPEG Audio: +#ifdef USE_FAKE_MONO + MP3_Init(0); +#else + MP3_Init(); +#endif + MP3_samplerate=MP3_channels=0; + len=MP3_DecodeFrame(buffer,-1); + + audio_fd=open("/dev/dsp", O_WRONLY); + if(audio_fd<0){ printf("Can't open audio device\n");exit(1); } + r=AFMT_S16_LE;ioctl (audio_fd, SNDCTL_DSP_SETFMT, &r); + r=MP3_channels-1;ioctl (audio_fd, SNDCTL_DSP_STEREO, &r); + r=MP3_samplerate;ioctl (audio_fd, SNDCTL_DSP_SPEED, &r); + printf("audio_setup: using %d Hz samplerate (requested: %d)\n",r,MP3_samplerate); + + while(1){ + int len2; + if(len==0) len=MP3_DecodeFrame(buffer,-1); + if(len<=0) break; // EOF + + // play it + len2=write(audio_fd,buffer,len); + if(len2<0) break; // ERROR? + len-=len2; total+=len2; + if(len>0){ + // this shouldn't happen... + memcpy(buffer,buffer+len2,len); + putchar('!');fflush(stdout); + } + } + + fclose(mp3file); + +}