annotate libmpcodecs/ad_dvdpcm.c @ 24930:17fe71259132

add some updates
author compn
date Sat, 03 Nov 2007 19:14:16 +0000
parents 815f03b7cee5
children 0f1b5b68af32
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5340
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
1 #include <stdio.h>
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
2 #include <stdlib.h>
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
3 #include <unistd.h>
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
4
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
5 #include "config.h"
13595
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
6 #include "mp_msg.h"
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
7 #include "help_mp.h"
5340
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
8 #include "ad_internal.h"
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
9
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
10 static ad_info_t info =
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
11 {
7191
1eadce15446c -afm/-vfm help implemenetd, some cosmetics of ad/vd codec names/comments
arpi
parents: 7180
diff changeset
12 "Uncompressed DVD/VOB LPCM audio decoder",
5340
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
13 "dvdpcm",
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
14 "Nick Kurshev",
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
15 "A'rpi",
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
16 ""
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
17 };
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
18
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
19 LIBAD_EXTERN(dvdpcm)
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
20
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
21 static int init(sh_audio_t *sh)
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
22 {
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
23 /* DVD PCM Audio:*/
13595
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
24 sh->i_bps = 0;
7670
d388a7ee48c5 parse samplerate & channels from LPCM header
arpi
parents: 7191
diff changeset
25 if(sh->codecdata_len==3){
d388a7ee48c5 parse samplerate & channels from LPCM header
arpi
parents: 7191
diff changeset
26 // we have LPCM header:
d388a7ee48c5 parse samplerate & channels from LPCM header
arpi
parents: 7191
diff changeset
27 unsigned char h=sh->codecdata[1];
d388a7ee48c5 parse samplerate & channels from LPCM header
arpi
parents: 7191
diff changeset
28 sh->channels=1+(h&7);
d388a7ee48c5 parse samplerate & channels from LPCM header
arpi
parents: 7191
diff changeset
29 switch((h>>4)&3){
d388a7ee48c5 parse samplerate & channels from LPCM header
arpi
parents: 7191
diff changeset
30 case 0: sh->samplerate=48000;break;
d388a7ee48c5 parse samplerate & channels from LPCM header
arpi
parents: 7191
diff changeset
31 case 1: sh->samplerate=96000;break;
d388a7ee48c5 parse samplerate & channels from LPCM header
arpi
parents: 7191
diff changeset
32 case 2: sh->samplerate=44100;break;
d388a7ee48c5 parse samplerate & channels from LPCM header
arpi
parents: 7191
diff changeset
33 case 3: sh->samplerate=32000;break;
d388a7ee48c5 parse samplerate & channels from LPCM header
arpi
parents: 7191
diff changeset
34 }
13236
97a6f049c9f8 first attempt to make 24-bit PCM DVDs work
reimar
parents: 7670
diff changeset
35 switch ((h >> 6) & 3) {
97a6f049c9f8 first attempt to make 24-bit PCM DVDs work
reimar
parents: 7670
diff changeset
36 case 0:
14245
815f03b7cee5 removing AFMT_ dependancy
alex
parents: 13980
diff changeset
37 sh->sample_format = AF_FORMAT_S16_BE;
13236
97a6f049c9f8 first attempt to make 24-bit PCM DVDs work
reimar
parents: 7670
diff changeset
38 sh->samplesize = 2;
97a6f049c9f8 first attempt to make 24-bit PCM DVDs work
reimar
parents: 7670
diff changeset
39 break;
13595
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
40 case 1:
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
41 mp_msg(MSGT_DECAUDIO, MSGL_INFO, MSGTR_SamplesWanted);
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
42 sh->i_bps = sh->channels * sh->samplerate * 5 / 2;
13236
97a6f049c9f8 first attempt to make 24-bit PCM DVDs work
reimar
parents: 7670
diff changeset
43 case 2:
14245
815f03b7cee5 removing AFMT_ dependancy
alex
parents: 13980
diff changeset
44 sh->sample_format = AF_FORMAT_S24_BE;
13236
97a6f049c9f8 first attempt to make 24-bit PCM DVDs work
reimar
parents: 7670
diff changeset
45 sh->samplesize = 3;
97a6f049c9f8 first attempt to make 24-bit PCM DVDs work
reimar
parents: 7670
diff changeset
46 break;
97a6f049c9f8 first attempt to make 24-bit PCM DVDs work
reimar
parents: 7670
diff changeset
47 default:
14245
815f03b7cee5 removing AFMT_ dependancy
alex
parents: 13980
diff changeset
48 sh->sample_format = AF_FORMAT_S16_BE;
13236
97a6f049c9f8 first attempt to make 24-bit PCM DVDs work
reimar
parents: 7670
diff changeset
49 sh->samplesize = 2;
97a6f049c9f8 first attempt to make 24-bit PCM DVDs work
reimar
parents: 7670
diff changeset
50 }
7670
d388a7ee48c5 parse samplerate & channels from LPCM header
arpi
parents: 7191
diff changeset
51 } else {
d388a7ee48c5 parse samplerate & channels from LPCM header
arpi
parents: 7191
diff changeset
52 // use defaults:
d388a7ee48c5 parse samplerate & channels from LPCM header
arpi
parents: 7191
diff changeset
53 sh->channels=2;
d388a7ee48c5 parse samplerate & channels from LPCM header
arpi
parents: 7191
diff changeset
54 sh->samplerate=48000;
14245
815f03b7cee5 removing AFMT_ dependancy
alex
parents: 13980
diff changeset
55 sh->sample_format = AF_FORMAT_S16_BE;
13236
97a6f049c9f8 first attempt to make 24-bit PCM DVDs work
reimar
parents: 7670
diff changeset
56 sh->samplesize = 2;
7670
d388a7ee48c5 parse samplerate & channels from LPCM header
arpi
parents: 7191
diff changeset
57 }
13595
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
58 if (!sh->i_bps)
13236
97a6f049c9f8 first attempt to make 24-bit PCM DVDs work
reimar
parents: 7670
diff changeset
59 sh->i_bps = sh->samplesize * sh->channels * sh->samplerate;
7670
d388a7ee48c5 parse samplerate & channels from LPCM header
arpi
parents: 7191
diff changeset
60 return 1;
5340
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
61 }
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
62
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
63 static int preinit(sh_audio_t *sh)
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
64 {
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
65 sh->audio_out_minsize=2048;
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
66 return 1;
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
67 }
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
68
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
69 static void uninit(sh_audio_t *sh)
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
70 {
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
71 }
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
72
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
73 static int control(sh_audio_t *sh,int cmd,void* arg, ...)
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
74 {
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
75 int skip;
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
76 switch(cmd)
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
77 {
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
78 case ADCTRL_SKIP_FRAME:
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
79 skip=sh->i_bps/16;
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
80 skip=skip&(~3);
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
81 demux_read_data(sh->ds,NULL,skip);
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
82 return CONTROL_TRUE;
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
83 }
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
84 return CONTROL_UNKNOWN;
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
85 }
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
86
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
87 static int decode_audio(sh_audio_t *sh_audio,unsigned char *buf,int minlen,int maxlen)
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
88 {
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
89 int j,len;
13595
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
90 if (sh_audio->samplesize == 3) {
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
91 if (((sh_audio->codecdata[1] >> 6) & 3) == 1) {
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
92 // 20 bit
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
93 // not sure if the "& 0xf0" and "<< 4" are the right way around
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
94 // can somebody clarify?
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
95 for (j = 0; j < minlen; j += 12) {
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
96 char tmp[10];
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
97 len = demux_read_data(sh_audio->ds, tmp, 10);
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
98 if (len < 10) break;
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
99 // first sample
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
100 buf[j + 0] = tmp[0];
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
101 buf[j + 1] = tmp[1];
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
102 buf[j + 2] = tmp[8] & 0xf0;
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
103 // second sample
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
104 buf[j + 3] = tmp[2];
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
105 buf[j + 4] = tmp[3];
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
106 buf[j + 5] = tmp[8] << 4;
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
107 // third sample
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
108 buf[j + 6] = tmp[4];
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
109 buf[j + 7] = tmp[5];
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
110 buf[j + 8] = tmp[9] & 0xf0;
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
111 // fourth sample
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
112 buf[j + 9] = tmp[6];
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
113 buf[j + 10] = tmp[7];
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
114 buf[j + 11] = tmp[9] << 4;
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
115 }
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
116 len = j;
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
117 } else {
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
118 // 24 bit
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
119 for (j = 0; j < minlen; j += 12) {
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
120 char tmp[12];
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
121 len = demux_read_data(sh_audio->ds, tmp, 12);
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
122 if (len < 12) break;
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
123 // first sample
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
124 buf[j + 0] = tmp[0];
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
125 buf[j + 1] = tmp[1];
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
126 buf[j + 2] = tmp[8];
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
127 // second sample
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
128 buf[j + 3] = tmp[2];
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
129 buf[j + 4] = tmp[3];
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
130 buf[j + 5] = tmp[9];
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
131 // third sample
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
132 buf[j + 6] = tmp[4];
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
133 buf[j + 7] = tmp[5];
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
134 buf[j + 8] = tmp[10];
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
135 // fourth sample
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
136 buf[j + 9] = tmp[6];
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
137 buf[j + 10] = tmp[7];
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
138 buf[j + 11] = tmp[11];
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
139 }
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
140 len = j;
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
141 }
f67d20c01332 Support for 24 bit and 20 bit LPCM (simple and slow :-( )
reimar
parents: 13236
diff changeset
142 } else
5340
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
143 len=demux_read_data(sh_audio->ds,buf,(minlen+3)&(~3));
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
144 return len;
0f12fb7c1c5d imported from MPlayerXP, dlopen() hack removed, some bugs fixed, interface functions changed to static, info->author field added
arpi
parents:
diff changeset
145 }