]> git.pld-linux.org Git - packages/cinelerra.git/blame - cinelerra-libsndfile1.patch
- up to 1.9.9, removed obsolete c++ patch
[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;
95@@ -151,13 +137,29 @@
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;
121 asset->sample_rate = fd_config.samplerate;
122 asset->channels = fd_config.channels;
123-//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);
124+//printf("FileSndFile::format_to_asset %x %d %x\n", fd_config.format & SF_FORMAT_TYPEMASK, fd_config.frames, fd_config.format & SF_FORMAT_SUBMASK);
125 //asset->dump();
126 }
127
128@@ -172,12 +174,12 @@
129 if(asset->format == FILE_PCM)
130 {
131 asset_to_format();
132- fd = sf_open_read(asset->path, &fd_config);
133+ fd = sf_open(asset->path, SFM_READ, &fd_config);
134 format_to_asset();
135 }
136 else
137 {
138- fd = sf_open_read(asset->path, &fd_config);
139+ fd = sf_open(asset->path, SFM_READ, &fd_config);
140 // Doesn't calculate the length
141 format_to_asset();
142 }
143@@ -188,7 +190,7 @@
144 //printf("FileSndFile::open_file 1\n");
145 asset_to_format();
146 //printf("FileSndFile::open_file 1\n");
147- fd = sf_open_write(asset->path, &fd_config);
148+ fd = sf_open(asset->path, SFM_WRITE, &fd_config);
149 //printf("FileSndFile::open_file 2 %p\n", fd);
150 }
151
152@@ -252,7 +254,7 @@
153 }
154
155 //printf("FileSndFile::read_samples 3\n");
156- result = !sf_read_double(fd, temp_double, len * asset->channels, 1);
157+ result = !sf_read_double(fd, temp_double, len * asset->channels);
158 //printf("FileSndFile::read_samples 4\n");
159
160 if(result)
161@@ -305,7 +307,7 @@
162 }
163 }
164
165- result = !sf_writef_double(fd, temp_double, len, 1);
166+ result = !sf_writef_double(fd, temp_double, len);
167
168 return result;
169 }
This page took 0.091802 seconds and 4 git commands to generate.