Mercurial > mplayer.hg
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) |