comparison libmpcodecs/dec_audio.c @ 6989:b2ba67f6203e

messages moved from dec_??d?o.c
author jaf
date Tue, 13 Aug 2002 16:04:16 +0000
parents c16a5fe3008f
children 28677d779205
comparison
equal deleted inserted replaced
6988:d09524ea66b0 6989:b2ba67f6203e
32 for (i=0; mpcodecs_ad_drivers[i] != NULL; i++) 32 for (i=0; mpcodecs_ad_drivers[i] != NULL; i++)
33 if(mpcodecs_ad_drivers[i]->info->id==sh_audio->codec->driver){ 33 if(mpcodecs_ad_drivers[i]->info->id==sh_audio->codec->driver){
34 mpadec=mpcodecs_ad_drivers[i]; break; 34 mpadec=mpcodecs_ad_drivers[i]; break;
35 } 35 }
36 if(!mpadec){ 36 if(!mpadec){
37 mp_msg(MSGT_DECAUDIO,MSGL_ERR,"Requested audio codec family [%s] (afm=%d) not available (enable it at compile time!)\n", 37 mp_msg(MSGT_DECAUDIO,MSGL_ERR,MSGTR_AudioCodecFamilyNotAvailable,
38 sh_audio->codec->name, sh_audio->codec->driver); 38 sh_audio->codec->name, sh_audio->codec->driver);
39 return 0; // no such driver 39 return 0; // no such driver
40 } 40 }
41 41
42 mp_msg(MSGT_DECAUDIO,MSGL_INFO,"Opening audio decoder: [%s] %s\n",mpadec->info->short_name,mpadec->info->name); 42 mp_msg(MSGT_DECAUDIO,MSGL_INFO,MSGTR_OpeningAudioDecoder,mpadec->info->short_name,mpadec->info->name);
43 43
44 // reset in/out buffer size/pointer: 44 // reset in/out buffer size/pointer:
45 sh_audio->a_buffer_size=0; 45 sh_audio->a_buffer_size=0;
46 sh_audio->a_buffer=NULL; 46 sh_audio->a_buffer=NULL;
47 sh_audio->a_in_buffer_size=0; 47 sh_audio->a_in_buffer_size=0;
62 sh_audio->audio_out_minsize=8192;/* default size, maybe not enough for Win32/ACM*/ 62 sh_audio->audio_out_minsize=8192;/* default size, maybe not enough for Win32/ACM*/
63 sh_audio->audio_in_minsize=0; 63 sh_audio->audio_in_minsize=0;
64 64
65 if(!mpadec->preinit(sh_audio)) 65 if(!mpadec->preinit(sh_audio))
66 { 66 {
67 mp_msg(MSGT_DECAUDIO,MSGL_ERR,"ADecoder preinit failed :(\n"); 67 mp_msg(MSGT_DECAUDIO,MSGL_ERR,MSGTR_ADecoderPreinitFailed);
68 return 0; 68 return 0;
69 } 69 }
70 70
71 /* allocate audio in buffer: */ 71 /* allocate audio in buffer: */
72 if(sh_audio->audio_in_minsize>0){ 72 if(sh_audio->audio_in_minsize>0){
73 sh_audio->a_in_buffer_size=sh_audio->audio_in_minsize; 73 sh_audio->a_in_buffer_size=sh_audio->audio_in_minsize;
74 mp_msg(MSGT_DECAUDIO,MSGL_V,"dec_audio: Allocating %d bytes for input buffer\n", 74 mp_msg(MSGT_DECAUDIO,MSGL_V,MSGTR_AllocatingBytesForInputBuffer,
75 sh_audio->a_in_buffer_size); 75 sh_audio->a_in_buffer_size);
76 sh_audio->a_in_buffer=malloc(sh_audio->a_in_buffer_size); 76 sh_audio->a_in_buffer=malloc(sh_audio->a_in_buffer_size);
77 memset(sh_audio->a_in_buffer,0,sh_audio->a_in_buffer_size); 77 memset(sh_audio->a_in_buffer,0,sh_audio->a_in_buffer_size);
78 sh_audio->a_in_buffer_len=0; 78 sh_audio->a_in_buffer_len=0;
79 } 79 }
80 80
81 /* allocate audio out buffer: */ 81 /* allocate audio out buffer: */
82 sh_audio->a_buffer_size=sh_audio->audio_out_minsize+MAX_OUTBURST; /* worst case calc.*/ 82 sh_audio->a_buffer_size=sh_audio->audio_out_minsize+MAX_OUTBURST; /* worst case calc.*/
83 83
84 mp_msg(MSGT_DECAUDIO,MSGL_V,"dec_audio: Allocating %d + %d = %d bytes for output buffer\n", 84 mp_msg(MSGT_DECAUDIO,MSGL_V,MSGTR_AllocatingBytesForOutputBuffer,
85 sh_audio->audio_out_minsize,MAX_OUTBURST,sh_audio->a_buffer_size); 85 sh_audio->audio_out_minsize,MAX_OUTBURST,sh_audio->a_buffer_size);
86 86
87 sh_audio->a_buffer=malloc(sh_audio->a_buffer_size); 87 sh_audio->a_buffer=malloc(sh_audio->a_buffer_size);
88 if(!sh_audio->a_buffer){ 88 if(!sh_audio->a_buffer){
89 mp_msg(MSGT_DECAUDIO,MSGL_ERR,MSGTR_CantAllocAudioBuf); 89 mp_msg(MSGT_DECAUDIO,MSGL_ERR,MSGTR_CantAllocAudioBuf);
91 } 91 }
92 memset(sh_audio->a_buffer,0,sh_audio->a_buffer_size); 92 memset(sh_audio->a_buffer,0,sh_audio->a_buffer_size);
93 sh_audio->a_buffer_len=0; 93 sh_audio->a_buffer_len=0;
94 94
95 if(!mpadec->init(sh_audio)){ 95 if(!mpadec->init(sh_audio)){
96 mp_msg(MSGT_DECAUDIO,MSGL_WARN,"ADecoder init failed :(\n"); 96 mp_msg(MSGT_DECAUDIO,MSGL_WARN,MSGTR_ADecoderInitFailed);
97 uninit_audio(sh_audio); // free buffers 97 uninit_audio(sh_audio); // free buffers
98 return 0; 98 return 0;
99 } 99 }
100 100
101 sh_audio->inited=1; 101 sh_audio->inited=1;
117 if(sh_audio->a_buffer) free(sh_audio->a_buffer); 117 if(sh_audio->a_buffer) free(sh_audio->a_buffer);
118 sh_audio->a_buffer=NULL; 118 sh_audio->a_buffer=NULL;
119 if(sh_audio->a_in_buffer) free(sh_audio->a_in_buffer); 119 if(sh_audio->a_in_buffer) free(sh_audio->a_in_buffer);
120 sh_audio->a_in_buffer=NULL; 120 sh_audio->a_in_buffer=NULL;
121 if(!sh_audio->inited) return; 121 if(!sh_audio->inited) return;
122 mp_msg(MSGT_DECAUDIO,MSGL_V,"uninit audio: %d \n",sh_audio->codec->driver); 122 mp_msg(MSGT_DECAUDIO,MSGL_V,MSGTR_UninitAudio,sh_audio->codec->driver);
123 mpadec->uninit(sh_audio); 123 mpadec->uninit(sh_audio);
124 sh_audio->inited=0; 124 sh_audio->inited=0;
125 } 125 }
126 126
127 int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int minlen,int maxlen) 127 int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int minlen,int maxlen)