- fdata = (float *)analog->data;
- num_channels = g_slist_length(analog->channels);
- for (si = 0; si < analog->num_samples; si++) {
- /* For now invert all values in all channels. */
- for (l = analog->channels, c = 0; l; l = l->next, c++) {
- ch = l->data;
- (void)ch;
- f = &fdata[si * num_channels + c];
- *f = 1.0 / *f;
- }
- }
+ p = analog->encoding->scale.p;
+ q = analog->encoding->scale.q;
+ if (q > INT64_MAX)
+ return SR_ERR;
+ analog->encoding->scale.p = (p < 0) ? -q : q;
+ analog->encoding->scale.q = (p < 0) ? -p : p;