Lines Matching full:handler
305 if (ft->handler.flags & SOX_FILE_ENDIAN) { in set_endiannesses()
306 sox_bool file_is_bigendian = !(ft->handler.flags & SOX_FILE_ENDBIG); in set_endiannesses()
327 ft->encoding.reverse_bits = !!(ft->handler.flags & SOX_FILE_BIT_REV); in set_endiannesses()
328 else if (ft->encoding.reverse_bits == !(ft->handler.flags & SOX_FILE_BIT_REV)) in set_endiannesses()
332 ft->encoding.reverse_nibbles = !!(ft->handler.flags & SOX_FILE_NIB_REV); in set_endiannesses()
334 if (ft->encoding.reverse_nibbles == !(ft->handler.flags & SOX_FILE_NIB_REV)) in set_endiannesses()
495 sox_format_handler_t const * handler; in open_read() local
502 if (!(handler = sox_find_format(filetype, sox_false))) { in open_read()
503 lsx_fail("no handler for given file type `%s'", filetype); in open_read()
506 ft->handler = *handler; in open_read()
509 if (!(ft->handler.flags & SOX_FILE_NOSTDIO)) { in open_read()
544 else if (!(ft->handler.flags & SOX_FILE_NOSTDIO) && in open_read()
554 if (!(handler = sox_find_format(filetype, sox_false))) { in open_read()
555 lsx_fail("no handler for detected file type `%s'", filetype); in open_read()
568 if (!(handler = sox_find_format(filetype, sox_true))) { in open_read()
569 lsx_fail("no handler for file extension `%s'", filetype); in open_read()
573 ft->handler = *handler; in open_read()
574 if (ft->handler.flags & SOX_FILE_NOSTDIO) { in open_read()
579 if (!ft->handler.startread && !ft->handler.read) { in open_read()
595 if ((ft->handler.flags & SOX_FILE_DEVICE) && !(ft->handler.flags & SOX_FILE_PHONY)) in open_read()
598 ft->priv = lsx_calloc(1, ft->handler.priv_size); in open_read()
600 if (ft->handler.startread && (*ft->handler.startread)(ft) != SOX_SUCCESS) { in open_read()
608 if (!(ft->handler.flags & SOX_FILE_PHONY) && !ft->signal.channels) in open_read()
658 #define enc_arg(T) (T)handler->write_formats[i++] in sox_format_supports_encoding()
660 sox_format_handler_t const * handler; in sox_format_supports_encoding() local
669 if (!filetype || !(handler = sox_find_format(filetype, is_file_extension)) || in sox_format_supports_encoding()
670 !handler->write_formats) in sox_format_supports_encoding()
692 unsigned const * encodings = ft->handler.write_formats; in set_output_format()
695 if (ft->handler.write_rates){ in set_output_format()
697 ft->signal.rate = ft->handler.write_rates[0]; in set_output_format()
701 while ((r = ft->handler.write_rates[i++])) { in set_output_format()
709 while ((r = ft->handler.write_rates[i++])) { 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()
723 if (ft->handler.flags & SOX_FILE_CHANS) { 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()
740 /* If an encoding has been given, check if it supported by this handler */ in set_output_format()
749 …lsx_warn("%s can't encode %s", ft->handler.names[0], sox_encodings_info[ft->encoding.encoding].des… in set_output_format()
777 …else lsx_warn("%s can't encode %s to %u-bit", ft->handler.names[0], sox_encodings_info[ft->encodin… in set_output_format()
782 /* If a size has been given, check if it supported by this handler */ in set_output_format()
789 lsx_warn("%s can't encode to %u-bit", ft->handler.names[0], ft->encoding.bits_per_sample); in set_output_format()
844 sox_format_handler_t const * handler; in sox_write_handler() local
846 if (!(handler = sox_find_format(filetype, sox_false))) { in sox_write_handler()
848 lsx_fail("no handler for given file type `%s'", filetype); in sox_write_handler()
858 if (!(handler = sox_find_format(filetype, sox_true))) { in sox_write_handler()
860 lsx_fail("no handler for file extension `%s'", filetype); in sox_write_handler()
865 if (!handler->startwrite && !handler->write) { in sox_write_handler()
872 return handler; in sox_write_handler()
888 sox_format_handler_t const * handler; in open_write() local
895 if (!(handler = sox_write_handler(path, filetype, &filetype))) in open_write()
898 ft->handler = *handler; in open_write()
900 if (!(ft->handler.flags & SOX_FILE_NOSTDIO)) { in open_write()
962 …if ((ft->handler.flags & SOX_FILE_REWIND) && strcmp(ft->filetype, "sox") && !ft->signal.length && … in open_write()
965 ft->priv = lsx_calloc(1, ft->handler.priv_size); in open_write()
967 if (ft->handler.startwrite && (ft->handler.startwrite)(ft) != SOX_SUCCESS){ in open_write()
977 if ((ft->handler.flags & SOX_FILE_DEVICE) && signal) { in open_write()
1033 actual = ft->handler.read? (*ft->handler.read)(ft, buf, len) : 0; in sox_read()
1041 size_t actual = ft->handler.write? (*ft->handler.write)(ft, buf, len) : 0; in sox_write()
1051 result = ft->handler.stopread? (*ft->handler.stopread)(ft) : SOX_SUCCESS; in sox_close()
1053 if (ft->handler.flags & SOX_FILE_REWIND) { in sox_close()
1057 result = ft->handler.stopwrite? (*ft->handler.stopwrite)(ft) in sox_close()
1058 : ft->handler.startwrite?(*ft->handler.startwrite)(ft) : SOX_SUCCESS; in sox_close()
1061 else result = ft->handler.stopwrite? (*ft->handler.stopwrite)(ft) : SOX_SUCCESS; in sox_close()
1088 /* If file is a seekable file and this handler supports seeking, in sox_seek()
1089 * then invoke handler's function. in sox_seek()
1091 if (ft->seekable && ft->handler.seek) in sox_seek()
1092 return (*ft->handler.seek)(ft, offset); in sox_seek()
1337 sox_format_handler_t const * handler = s_sox_format_fns[f].fn(); in sox_find_format() local
1339 if (!(no_dev && (handler->flags & SOX_FILE_DEVICE))) in sox_find_format()
1340 for (n = 0; handler->names[n]; ++n) in sox_find_format()
1341 if (!strcasecmp(handler->names[n], name)) { in sox_find_format()
1343 return handler; /* Found it. */ in sox_find_format()