annotate libmpcodecs/ad_hwmpa.c @ 21202:8ed444639678

spurious () like in ({code;}) probably is not valid C, icc 9, definitely will not compile it, and whatever it is supposed to be good for it does not seem to be needed.
author reimar
date Sat, 25 Nov 2006 13:39:21 +0000
parents ac6746d40459
children a90aa203186c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
17397
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
1 #include <stdio.h>
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
2 #include <stdlib.h>
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
3 #include <string.h>
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
4 #include <unistd.h>
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
5
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
6 #include "config.h"
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
7
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
8 #include "mp_msg.h"
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
9 #include "help_mp.h"
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
10
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
11 #include "libaf/af_format.h"
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
12 #include "ad_internal.h"
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
13
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
14 #include "libmpdemux/mp3_hdr.h"
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
15
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
16 //based on ad_hwac3.c and ad_libmad.c
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
17
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
18 static ad_info_t info =
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
19 {
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
20 "MPEG audio pass-through (fake decoder)",
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
21 "hwmpa",
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
22 "NicoDVB",
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
23 "NicoDVB",
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
24 "For hardware decoders"
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
25 };
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
26
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
27 LIBAD_EXTERN(hwmpa)
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
28
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
29 static int mpa_sync(sh_audio_t *sh, int no_frames, int *n, int *chans, int *srate, int *spf, int *mpa_layer, int *br)
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
30 {
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
31 int cnt = 0, x = 0, len, frames_count;
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
32
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
33 frames_count = 0;
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
34 do
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
35 {
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
36 while(cnt + 4 < sh->a_in_buffer_len)
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
37 {
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
38 x = mp_get_mp3_header(&(sh->a_in_buffer[cnt]), chans, srate, spf, mpa_layer, br);
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
39 if(x > 0)
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
40 {
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
41 frames_count++;
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
42 if(frames_count == no_frames)
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
43 {
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
44 *n = x;
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
45 return cnt;
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
46 }
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
47 }
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
48 cnt++;
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
49 }
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
50 len = demux_read_data(sh->ds,&sh->a_in_buffer[sh->a_in_buffer_len],sh->a_in_buffer_size-sh->a_in_buffer_len);
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
51 if(len > 0)
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
52 sh->a_in_buffer_len += len;
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
53 } while(len > 0);
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
54 mp_msg(MSGT_DECAUDIO,MSGL_INFO,"Cannot sync MPA frame: %d\r\n", len);
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
55 return -1;
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
56 }
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
57
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
58 static int preinit(sh_audio_t *sh)
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
59 {
19157
597866a6793d the value returned by decode_audio() must be the amount of _decoded_ bytes (finally it's beginning t work: no more toomanypackets... message)
nicodvb
parents: 19120
diff changeset
60 sh->audio_out_minsize = 4608;//check
17397
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
61 sh->audio_in_minsize = 4608;//check
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
62 sh->sample_format = AF_FORMAT_MPEG2;
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
63 return 1;
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
64 }
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
65
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
66 static int init(sh_audio_t *sh)
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
67 {
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
68 int cnt, chans, srate, spf, mpa_layer, br, len;
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
69
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
70 if((cnt = mpa_sync(sh, 1, &len, &chans, &srate, &spf, &mpa_layer, &br)) < 0)
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
71 return 0;
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
72
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
73 sh->channels = chans;
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
74 sh->samplerate = srate;
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
75 sh->i_bps = br * 125;
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
76 sh->samplesize = 2;
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
77
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
78 mp_msg(MSGT_DECAUDIO,MSGL_V,"AC_HWMPA initialized, bitrate: %d kb/s\r\n", len);
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
79 return 1;
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
80 }
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
81
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
82 static int decode_audio(sh_audio_t *sh,unsigned char *buf,int minlen,int maxlen)
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
83 {
19120
017a563d8d93 prevent buffer underflow; the code is still incorrect and leads to desync but at least it doesn't crash
nicodvb
parents: 18958
diff changeset
84 int len, start, tot;
17397
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
85 int chans, srate, spf, mpa_layer, br;
19157
597866a6793d the value returned by decode_audio() must be the amount of _decoded_ bytes (finally it's beginning t work: no more toomanypackets... message)
nicodvb
parents: 19120
diff changeset
86 int tot2;
17397
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
87
19157
597866a6793d the value returned by decode_audio() must be the amount of _decoded_ bytes (finally it's beginning t work: no more toomanypackets... message)
nicodvb
parents: 19120
diff changeset
88 tot = tot2 = 0;
19120
017a563d8d93 prevent buffer underflow; the code is still incorrect and leads to desync but at least it doesn't crash
nicodvb
parents: 18958
diff changeset
89
19157
597866a6793d the value returned by decode_audio() must be the amount of _decoded_ bytes (finally it's beginning t work: no more toomanypackets... message)
nicodvb
parents: 19120
diff changeset
90 while(tot2 < maxlen)
17397
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
91 {
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
92 start = mpa_sync(sh, 1, &len, &chans, &srate, &spf, &mpa_layer, &br);
19157
597866a6793d the value returned by decode_audio() must be the amount of _decoded_ bytes (finally it's beginning t work: no more toomanypackets... message)
nicodvb
parents: 19120
diff changeset
93 if(start < 0 || tot2 + spf * 2 * chans > maxlen)
17397
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
94 break;
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
95
19120
017a563d8d93 prevent buffer underflow; the code is still incorrect and leads to desync but at least it doesn't crash
nicodvb
parents: 18958
diff changeset
96 if(start + len > sh->a_in_buffer_len)
017a563d8d93 prevent buffer underflow; the code is still incorrect and leads to desync but at least it doesn't crash
nicodvb
parents: 18958
diff changeset
97 {
017a563d8d93 prevent buffer underflow; the code is still incorrect and leads to desync but at least it doesn't crash
nicodvb
parents: 18958
diff changeset
98 int l;
017a563d8d93 prevent buffer underflow; the code is still incorrect and leads to desync but at least it doesn't crash
nicodvb
parents: 18958
diff changeset
99 l = min(sh->a_in_buffer_size - sh->a_in_buffer_len, start + len);
017a563d8d93 prevent buffer underflow; the code is still incorrect and leads to desync but at least it doesn't crash
nicodvb
parents: 18958
diff changeset
100 l = demux_read_data(sh->ds,&sh->a_in_buffer[sh->a_in_buffer_len], l);
017a563d8d93 prevent buffer underflow; the code is still incorrect and leads to desync but at least it doesn't crash
nicodvb
parents: 18958
diff changeset
101 if(! l)
19159
7945609397b0 in decode_audio() memset(0) unused memory in buf before returning
nicodvb
parents: 19158
diff changeset
102 break;
19120
017a563d8d93 prevent buffer underflow; the code is still incorrect and leads to desync but at least it doesn't crash
nicodvb
parents: 18958
diff changeset
103 sh->a_in_buffer_len += l;
017a563d8d93 prevent buffer underflow; the code is still incorrect and leads to desync but at least it doesn't crash
nicodvb
parents: 18958
diff changeset
104 continue;
017a563d8d93 prevent buffer underflow; the code is still incorrect and leads to desync but at least it doesn't crash
nicodvb
parents: 18958
diff changeset
105 }
017a563d8d93 prevent buffer underflow; the code is still incorrect and leads to desync but at least it doesn't crash
nicodvb
parents: 18958
diff changeset
106
017a563d8d93 prevent buffer underflow; the code is still incorrect and leads to desync but at least it doesn't crash
nicodvb
parents: 18958
diff changeset
107 memcpy(&buf[tot], &(sh->a_in_buffer[start]), len);
017a563d8d93 prevent buffer underflow; the code is still incorrect and leads to desync but at least it doesn't crash
nicodvb
parents: 18958
diff changeset
108 tot += len;
017a563d8d93 prevent buffer underflow; the code is still incorrect and leads to desync but at least it doesn't crash
nicodvb
parents: 18958
diff changeset
109
17397
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
110 sh->a_in_buffer_len -= start + len;
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
111 memmove(sh->a_in_buffer, &(sh->a_in_buffer[start + len]), sh->a_in_buffer_len);
19157
597866a6793d the value returned by decode_audio() must be the amount of _decoded_ bytes (finally it's beginning t work: no more toomanypackets... message)
nicodvb
parents: 19120
diff changeset
112 tot2 += spf * 2 * chans;
19286
ac6746d40459 fix a/v sync issues when using ad_hwmpa
ben
parents: 19159
diff changeset
113
ac6746d40459 fix a/v sync issues when using ad_hwmpa
ben
parents: 19159
diff changeset
114 /* HACK: seems to fix most A/V sync issues */
ac6746d40459 fix a/v sync issues when using ad_hwmpa
ben
parents: 19159
diff changeset
115 break;
17397
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
116 }
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
117
19159
7945609397b0 in decode_audio() memset(0) unused memory in buf before returning
nicodvb
parents: 19158
diff changeset
118 memset(&buf[tot], 0, tot2-tot);
19157
597866a6793d the value returned by decode_audio() must be the amount of _decoded_ bytes (finally it's beginning t work: no more toomanypackets... message)
nicodvb
parents: 19120
diff changeset
119 return tot2;
17397
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
120 }
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
121
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
122
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
123 static int control(sh_audio_t *sh,int cmd,void* arg, ...)
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
124 {
18958
a8e681ad7c90 Remove unused variables, patch by Stefan Huehner stefan at huehner org.
diego
parents: 17397
diff changeset
125 int start, len;
17397
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
126
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
127 switch(cmd)
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
128 {
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
129 case ADCTRL_RESYNC_STREAM:
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
130 if(mpa_sync(sh, 1, &len, NULL, NULL, NULL, NULL, NULL) >= 0)
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
131 return CONTROL_TRUE;
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
132 else
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
133 return CONTROL_FALSE;
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
134 case ADCTRL_SKIP_FRAME:
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
135 start = mpa_sync(sh, 2, &len, NULL, NULL, NULL, NULL, NULL);
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
136 if(len < 0)
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
137 return CONTROL_FALSE;
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
138
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
139 sh->a_in_buffer_len -= start;
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
140 memmove(sh->a_in_buffer, &(sh->a_in_buffer[start]), sh->a_in_buffer_len);
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
141 return CONTROL_TRUE;
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
142 }
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
143 return CONTROL_UNKNOWN;
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
144 }
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
145
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
146
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
147 static void uninit(sh_audio_t *sh)
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
148 {
2e20dd653147 ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
diff changeset
149 }