add FLAC__format_blocksize_is_subset()

This commit is contained in:
Josh Coalson 2008-05-27 05:19:52 +00:00
parent f7df1154ce
commit 1be89c498d
3 changed files with 25 additions and 3 deletions

View File

@ -115,12 +115,12 @@
</ul>
</li>
<li>
Interface changes (see also the <a href="http://flac.sourceforge.net/api/group__porting__1__2__1__to__1__2__2.html">porting guide</a> for specific instructions on porting to FLAC 1.2.2):
Interface changes:
<ul>
<li>
libFLAC:
<ul>
<li>(none)</li>
<li><b>Added</b> FLAC__format_blocksize_is_subset()</li>
</ul>
</li>
<li>
@ -213,7 +213,7 @@
</ul>
</li>
<li>
Interface changes (see also the <a href="http://flac.sourceforge.net/api/group__porting__1__2__0__to__1__2__1.html">porting guide</a> for specific instructions on porting to FLAC 1.2.1):
Interface changes:
<ul>
<li>
libFLAC:

View File

@ -879,6 +879,18 @@ extern FLAC_API const unsigned FLAC__STREAM_METADATA_LENGTH_LEN; /**< == 24 (bit
*/
FLAC_API FLAC__bool FLAC__format_sample_rate_is_valid(unsigned sample_rate);
/** Tests that a blocksize at the given sample rate is valid for the FLAC
* subset.
*
* \param blocksize The blocksize to test for compliance.
* \param sample_rate The sample rate is needed, since the valid subset
* blocksize depends on the sample rate.
* \retval FLAC__bool
* \c true if the given blocksize conforms to the specification for the
* subset at the given sample rate, else \c false.
*/
FLAC_API FLAC__bool FLAC__format_blocksize_is_subset(unsigned blocksize, unsigned sample_rate);
/** Tests that a sample rate is valid for the FLAC subset. The subset rules
* for valid sample rates are slightly more complex since the rate has to
* be expressible completely in the frame header.

View File

@ -223,6 +223,16 @@ FLAC_API FLAC__bool FLAC__format_sample_rate_is_valid(unsigned sample_rate)
return true;
}
FLAC_API FLAC__bool FLAC__format_blocksize_is_subset(unsigned blocksize, unsigned sample_rate)
{
if(blocksize > 16384)
return false;
else if(sample_rate <= 48000 && blocksize > 4608)
return false;
else
return true;
}
FLAC_API FLAC__bool FLAC__format_sample_rate_is_subset(unsigned sample_rate)
{
if(