utils.h
上传用户:wstnjxml
上传日期:2014-04-03
资源大小:7248k
文件大小:2k
源码类别:

Windows CE

开发平台:

C/C++

  1. /* flac - Command-line FLAC encoder/decoder
  2.  * Copyright (C) 2002,2003,2004,2005  Josh Coalson
  3.  *
  4.  * This program is free software; you can redistribute it and/or
  5.  * modify it under the terms of the GNU General Public License
  6.  * as published by the Free Software Foundation; either version 2
  7.  * of the License, or (at your option) any later version.
  8.  *
  9.  * This program is distributed in the hope that it will be useful,
  10.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.  * GNU General Public License for more details.
  13.  *
  14.  * You should have received a copy of the GNU General Public License
  15.  * along with this program; if not, write to the Free Software
  16.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  17.  */
  18. #ifndef flac__utils_h
  19. #define flac__utils_h
  20. #include "FLAC/ordinals.h"
  21. #include "FLAC/format.h" /* for FLAC__StreamMetadata_CueSheet */
  22. #include <stdio.h> /* for FILE */
  23. typedef struct {
  24. FLAC__bool is_relative; /* i.e. specification string started with + or - */
  25. FLAC__bool value_is_samples;
  26. union {
  27. double seconds;
  28. FLAC__int64 samples;
  29. } value;
  30. } utils__SkipUntilSpecification;
  31. typedef struct {
  32. FLAC__bool has_start_point, has_end_point;
  33. unsigned start_track, start_index;
  34. unsigned end_track, end_index;
  35. } utils__CueSpecification;
  36. #ifdef FLAC__VALGRIND_TESTING
  37. size_t flac__utils_fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
  38. #else
  39. #define flac__utils_fwrite fwrite
  40. #endif
  41. extern int flac__utils_verbosity_;
  42. void flac__utils_printf(FILE *stream, int level, const char *format, ...);
  43. FLAC__bool flac__utils_parse_skip_until_specification(const char *s, utils__SkipUntilSpecification *spec);
  44. void flac__utils_canonicalize_skip_until_specification(utils__SkipUntilSpecification *spec, unsigned sample_rate);
  45. FLAC__bool flac__utils_parse_cue_specification(const char *s, utils__CueSpecification *spec);
  46. void flac__utils_canonicalize_cue_specification(const utils__CueSpecification *cue_spec, const FLAC__StreamMetadata_CueSheet *cuesheet, FLAC__uint64 total_samples, utils__SkipUntilSpecification *skip_spec, utils__SkipUntilSpecification *until_spec);
  47. #endif