]> git.pld-linux.org Git - packages/cinelerra.git/blame - cinelerra-libsndfile1.patch
- up to 1.1.6
[packages/cinelerra.git] / cinelerra-libsndfile1.patch
CommitLineData
584c94b3
JB
1--- cinelerra-1.1.5/cinelerra/filesndfile.C.orig Sat Nov 2 10:06:39 2002
2+++ cinelerra-1.1.5/cinelerra/filesndfile.C Fri Mar 21 01:19:58 2003
3@@ -25,7 +25,7 @@
4 SF_INFO fd_config;
5 fd_config.format = 0;
6 //printf("FileSndFile::check_sig 1\n");
7- SNDFILE *fd = sf_open_read(asset->path, &fd_config);
8+ SNDFILE *fd = sf_open(asset->path, SFM_READ, &fd_config);
9 //printf("FileSndFile::check_sig 1\n");
10
11 if(fd)
12@@ -56,30 +56,29 @@
13 case BITSLINEAR8:
14 case BITSLINEAR16:
15 case BITSLINEAR24:
16- if(asset->format != FILE_PCM)
17- {
18- fd_config.format |= SF_FORMAT_PCM;
19- }
20- else
21+ if(asset->format == FILE_PCM)
22 {
23 if(asset->byte_order)
24- fd_config.format |= SF_FORMAT_PCM_LE;
25+ fd_config.format |= SF_ENDIAN_LITTLE;
26 else
27- fd_config.format |= SF_FORMAT_PCM_BE;
28+ fd_config.format |= SF_ENDIAN_BIG;
29 }
30- fd_config.pcmbitwidth = asset->bits;
31-//printf("FileSndFile::asset_to_format 1 %x %d\n", fd_config.format, fd_config.pcmbitwidth);
32+ if(asset->bits == BITSLINEAR8)
33+ fd_config.format |= SF_FORMAT_PCM_S8;
34+ else if(asset->bits == BITSLINEAR16)
35+ fd_config.format |= SF_FORMAT_PCM_16;
36+ else
37+ fd_config.format |= SF_FORMAT_PCM_24;
38+//printf("FileSndFile::asset_to_format 1 %x\n", fd_config.format);
39 break;
40
41 case BITSULAW:
42 fd_config.format |= SF_FORMAT_ULAW;
43- fd_config.pcmbitwidth = 16;
44 break;
45
46 case BITSFLOAT:
47 //printf("FileSndFile::asset_to_format 1\n");
48 fd_config.format |= SF_FORMAT_FLOAT;
49- fd_config.pcmbitwidth = 16;
50 break;
51
52 case BITS_ADPCM:
53@@ -87,14 +86,13 @@
54 fd_config.format |= SF_FORMAT_MS_ADPCM;
55 else
56 fd_config.format |= SF_FORMAT_IMA_ADPCM;
57- fd_config.pcmbitwidth = 16;
58 break;
59 }
60
61 fd_config.seekable = 1;
62 fd_config.samplerate = asset->sample_rate;
63 fd_config.channels = asset->channels;
64-//printf("FileSndFile::asset_to_format %x %d %d\n", fd_config.format, fd_config.pcmbitwidth, fd_config.channels);
65+//printf("FileSndFile::asset_to_format %x %d\n", fd_config.format, fd_config.channels);
66 }
67
68 void FileSndFile::format_to_asset()
69@@ -113,7 +111,6 @@
70 break;
71 case SF_FORMAT_AIFF: asset->format = FILE_AIFF; break;
72 case SF_FORMAT_AU: asset->format = FILE_AU; break;
73- case SF_FORMAT_AULE: asset->format = FILE_AU; break;
74 case SF_FORMAT_RAW: asset->format = FILE_PCM; break;
75 case SF_FORMAT_PAF: asset->format = FILE_SND; break;
76 case SF_FORMAT_SVX: asset->format = FILE_SND; break;
77@@ -132,17 +129,6 @@
78 case SF_FORMAT_MS_ADPCM:
79 asset->bits = BITS_ADPCM;
80 break;
81- case SF_FORMAT_PCM:
82- asset->bits = fd_config.pcmbitwidth;
83- break;
84- case SF_FORMAT_PCM_BE:
85- asset->byte_order = 0;
86- asset->bits = fd_config.pcmbitwidth;
87- break;
88- case SF_FORMAT_PCM_LE:
89- asset->byte_order = 1;
90- asset->bits = fd_config.pcmbitwidth;
91- break;
92 case SF_FORMAT_PCM_S8:
93 asset->signed_ = 1;
94 asset->bits = BITSLINEAR8;
6c08bb5e 95@@ -151,14 +137,30 @@
584c94b3
JB
96 asset->signed_ = 0;
97 asset->bits = BITSLINEAR8;
98 break;
99+ case SF_FORMAT_PCM_16:
100+ asset->bits = BITSLINEAR16;
101+ break;
102+ case SF_FORMAT_PCM_24:
103+ asset->bits = BITSLINEAR24;
104+ break;
105+ case SF_FORMAT_PCM_32:
106+ asset->bits = BITSLINEAR32;
107+ break;
108+ }
109+ switch(fd_config.format & SF_FORMAT_ENDMASK) {
110+ case SF_ENDIAN_LITTLE:
111+ asset->byte_order = 1;
112+ break;
113+ case SF_ENDIAN_BIG:
114+ asset->byte_order = 0;
115+ break;
116 }
117-
118 asset->audio_data = 1;
119- asset->audio_length = fd_config.samples;
120+ asset->audio_length = fd_config.frames;
6c08bb5e
JB
121 if(!asset->sample_rate)
122 asset->sample_rate = fd_config.samplerate;
584c94b3
JB
123 asset->channels = fd_config.channels;
124-//printf("FileSndFile::format_to_asset %x %d %d %x\n", fd_config.format & SF_FORMAT_TYPEMASK, fd_config.pcmbitwidth, fd_config.samples, fd_config.format & SF_FORMAT_SUBMASK);
125+//printf("FileSndFile::format_to_asset %x %d %x\n", fd_config.format & SF_FORMAT_TYPEMASK, fd_config.frames, fd_config.format & SF_FORMAT_SUBMASK);
126 //asset->dump();
127 }
128
129@@ -172,12 +174,12 @@
130 if(asset->format == FILE_PCM)
131 {
132 asset_to_format();
133- fd = sf_open_read(asset->path, &fd_config);
134+ fd = sf_open(asset->path, SFM_READ, &fd_config);
135 format_to_asset();
136 }
137 else
138 {
139- fd = sf_open_read(asset->path, &fd_config);
140+ fd = sf_open(asset->path, SFM_READ, &fd_config);
141 // Doesn't calculate the length
142 format_to_asset();
143 }
144@@ -188,7 +190,7 @@
145 //printf("FileSndFile::open_file 1\n");
146 asset_to_format();
147 //printf("FileSndFile::open_file 1\n");
148- fd = sf_open_write(asset->path, &fd_config);
149+ fd = sf_open(asset->path, SFM_WRITE, &fd_config);
150 //printf("FileSndFile::open_file 2 %p\n", fd);
151 }
152
153@@ -252,7 +254,7 @@
154 }
155
156 //printf("FileSndFile::read_samples 3\n");
157- result = !sf_read_double(fd, temp_double, len * asset->channels, 1);
158+ result = !sf_read_double(fd, temp_double, len * asset->channels);
159 //printf("FileSndFile::read_samples 4\n");
160
161 if(result)
162@@ -305,7 +307,7 @@
163 }
164 }
165
166- result = !sf_writef_double(fd, temp_double, len, 1);
167+ result = !sf_writef_double(fd, temp_double, len);
168
169 return result;
170 }
This page took 0.249576 seconds and 4 git commands to generate.