Lines Matching full:signal
352 if (ft->signal.rate <= 0) { in sox_checkformat()
356 if (!ft->signal.precision) { in sox_checkformat()
490 sox_signalinfo_t const * signal, in open_read() argument
587 if (signal) in open_read()
588 ft->signal = *signal; in open_read()
607 ft->signal.precision = sox_precision(ft->encoding.encoding, ft->encoding.bits_per_sample); in open_read()
608 if (!(ft->handler.flags & SOX_FILE_PHONY) && !ft->signal.channels) in open_read()
609 ft->signal.channels = 1; in open_read()
616 if (signal) { in open_read()
617 if (signal->rate && signal->rate != ft->signal.rate) in open_read()
618 lsx_warn("can't set sample rate %g; using %g", signal->rate, ft->signal.rate); in open_read()
619 if (signal->channels && signal->channels != ft->signal.channels) in open_read()
620 lsx_warn("can't set %u channels; using %u", signal->channels, ft->signal.channels); in open_read()
636 sox_signalinfo_t const * signal, in sox_open_read() argument
640 return open_read(path, NULL, (size_t)0, signal, encoding, filetype); in sox_open_read()
646 sox_signalinfo_t const * signal, in sox_open_mem_read() argument
650 return open_read("", buffer, buffer_size, signal,encoding,filetype); in sox_open_mem_read()
696 if (!ft->signal.rate) in set_output_format()
697 ft->signal.rate = ft->handler.write_rates[0]; in set_output_format()
702 if (r == ft->signal.rate) in set_output_format()
705 if (r != ft->signal.rate) { in set_output_format()
706 sox_rate_t given = ft->signal.rate, max = 0; in set_output_format()
707 ft->signal.rate = HUGE_VAL; in set_output_format()
710 if (r > given && r < ft->signal.rate) in set_output_format()
711 ft->signal.rate = r; in set_output_format()
714 if (ft->signal.rate == HUGE_VAL) in set_output_format()
715 ft->signal.rate = max; in set_output_format()
716 … lsx_warn("%s can't encode at %gHz; using %gHz", ft->handler.names[0], given, ft->signal.rate); in set_output_format()
720 else if (!ft->signal.rate) in set_output_format()
721 ft->signal.rate = SOX_DEFAULT_RATE; in set_output_format()
724 if (ft->signal.channels == 1 && !(ft->handler.flags & SOX_FILE_MONO)) { in set_output_format()
725 ft->signal.channels = (ft->handler.flags & SOX_FILE_STEREO)? 2 : 4; in set_output_format()
726 …lsx_warn("%s can't encode mono; setting channels to %u", ft->handler.names[0], ft->signal.channels… in set_output_format()
728 if (ft->signal.channels == 2 && !(ft->handler.flags & SOX_FILE_STEREO)) { in set_output_format()
729 ft->signal.channels = (ft->handler.flags & SOX_FILE_QUAD)? 4 : 1; in set_output_format()
730 …lsx_warn("%s can't encode stereo; setting channels to %u", ft->handler.names[0], ft->signal.channe… in set_output_format()
732 if (ft->signal.channels == 4 && !(ft->handler.flags & SOX_FILE_QUAD)) { in set_output_format()
733 ft->signal.channels = (ft->handler.flags & SOX_FILE_STEREO)? 2 : 1; in set_output_format()
734 …lsx_warn("%s can't encode quad; setting channels to %u", ft->handler.names[0], ft->signal.channels… in set_output_format()
736 } else ft->signal.channels = max(ft->signal.channels, 1); in set_output_format()
763 if (sox_precision(e, s) >= ft->signal.precision) { in set_output_format()
795 /* Find the smallest lossless encoding with precision >= signal.precision */ in set_output_format()
802 sox_precision(e, s) >= ft->signal.precision && s < ft->encoding.bits_per_sample) { in set_output_format()
808 /* Find the smallest lossy encoding with precision >= signal precision, in set_output_format()
818 if (sox_precision(e, s) >= ft->signal.precision) { in set_output_format()
835 ft->signal.precision = sox_precision(ft->encoding.encoding, ft->encoding.bits_per_sample); in set_output_format()
881 sox_signalinfo_t const * signal, in open_write() argument
890 if (!path || !signal) { in open_write()
891 lsx_fail("must specify file name and signal parameters to write file"); in open_write()
941 ft->signal = *signal; in open_write()
958 if (signal->rate && signal->channels) in open_write()
959 ft->signal.length = ft->signal.length * ft->signal.rate / signal->rate * in open_write()
960 ft->signal.channels / signal->channels + .5; in open_write()
962 …if ((ft->handler.flags & SOX_FILE_REWIND) && strcmp(ft->filetype, "sox") && !ft->signal.length && … in open_write()
977 if ((ft->handler.flags & SOX_FILE_DEVICE) && signal) { in open_write()
978 if (signal->rate && signal->rate != ft->signal.rate) in open_write()
979 lsx_report("can't set sample rate %g; using %g", signal->rate, ft->signal.rate); in open_write()
980 if (signal->channels && signal->channels != ft->signal.channels) in open_write()
981 lsx_report("can't set %u channels; using %u", signal->channels, ft->signal.channels); in open_write()
997 sox_signalinfo_t const * signal, in sox_open_write() argument
1003 …return open_write(path, NULL, (size_t)0, NULL, NULL, signal, encoding, filetype, oob, overwrite_pe… in sox_open_write()
1009 sox_signalinfo_t const * signal, in sox_open_mem_write() argument
1014 return open_write("", buffer, buffer_size, NULL, NULL, signal, encoding, filetype, oob, NULL); in sox_open_mem_write()
1020 sox_signalinfo_t const * signal, in sox_open_memstream_write() argument
1025 …return open_write("", NULL, (size_t)0, buffer_ptr, buffer_size_ptr, signal, encoding, filetype, oo… in sox_open_memstream_write()
1031 if (ft->signal.length != SOX_UNSPEC) in sox_read()
1032 len = min(len, ft->signal.length - ft->olength); in sox_read()
1054 if (ft->olength != ft->signal.length && ft->seekable) { in sox_close()