Home | History | Annotate | Download | only in libFLAC

Lines Matching full:block1

695 static FLAC__bool compare_block_data_streaminfo_(const FLAC__StreamMetadata_StreamInfo *block1, const FLAC__StreamMetadata_StreamInfo *block2)
697 if (block1->min_blocksize != block2->min_blocksize)
699 if (block1->max_blocksize != block2->max_blocksize)
701 if (block1->min_framesize != block2->min_framesize)
703 if (block1->max_framesize != block2->max_framesize)
705 if (block1->sample_rate != block2->sample_rate)
707 if (block1->channels != block2->channels)
709 if (block1->bits_per_sample != block2->bits_per_sample)
711 if (block1->total_samples != block2->total_samples)
713 if (memcmp(block1->md5sum, block2->md5sum, 16) != 0)
718 static FLAC__bool compare_block_data_application_(const FLAC__StreamMetadata_Application *block1, const FLAC__StreamMetadata_Application *block2, unsigned block_length)
720 FLAC__ASSERT(block1 != NULL);
722 FLAC__ASSERT(block_length >= sizeof(block1->id));
724 if (memcmp(block1->id, block2->id, sizeof(block1->id)) != 0)
726 if (block1->data != NULL && block2->data != NULL)
727 return memcmp(block1->data, block2->data, block_length - sizeof(block1->id)) == 0;
729 return block1->data == block2->data;
732 static FLAC__bool compare_block_data_seektable_(const FLAC__StreamMetadata_SeekTable *block1, const FLAC__StreamMetadata_SeekTable *block2)
736 FLAC__ASSERT(block1 != NULL);
739 if (block1->num_points != block2->num_points)
742 if (block1->points != NULL && block2->points != NULL) {
743 for (i = 0; i < block1->num_points; i++) {
744 if (block1->points[i].sample_number != block2->points[i].sample_number)
746 if (block1->points[i].stream_offset != block2->points[i].stream_offset)
748 if (block1->points[i].frame_samples != block2->points[i].frame_samples)
754 return block1->points == block2->points;
757 static FLAC__bool compare_block_data_vorbiscomment_(const FLAC__StreamMetadata_VorbisComment *block1, const FLAC__StreamMetadata_VorbisComment *block2)
761 if (block1->vendor_string.length != block2->vendor_string.length)
764 if (block1->vendor_string.entry != NULL && block2->vendor_string.entry != NULL) {
765 if (memcmp(block1->vendor_string.entry, block2->vendor_string.entry, block1->vendor_string.length) != 0)
768 else if (block1->vendor_string.entry != block2->vendor_string.entry)
771 if (block1->num_comments != block2->num_comments)
774 for (i = 0; i < block1->num_comments; i++) {
775 if (block1->comments[i].entry != NULL && block2->comments[i].entry != NULL) {
776 if (memcmp(block1->comments[i].entry, block2->comments[i].entry, block1->comments[i].length) != 0)
779 else if (block1->comments[i].entry != block2->comments[i].entry)
785 static FLAC__bool compare_block_data_cuesheet_(const FLAC__StreamMetadata_CueSheet *block1, const FLAC__StreamMetadata_CueSheet *block2)
789 if (strcmp(block1->media_catalog_number, block2->media_catalog_number) != 0)
792 if (block1->lead_in != block2->lead_in)
795 if (block1->is_cd != block2->is_cd)
798 if (block1->num_tracks != block2->num_tracks)
801 if (block1->tracks != NULL && block2->tracks != NULL) {
802 FLAC__ASSERT(block1->num_tracks > 0);
803 for (i = 0; i < block1->num_tracks; i++) {
804 if (block1->tracks[i].offset != block2->tracks[i].offset)
806 if (block1->tracks[i].number != block2->tracks[i].number)
808 if (memcmp(block1->tracks[i].isrc, block2->tracks[i].isrc, sizeof(block1->tracks[i].isrc)) != 0)
810 if (block1->tracks[i].type != block2->tracks[i].type)
812 if (block1->tracks[i].pre_emphasis != block2->tracks[i].pre_emphasis)
814 if (block1->tracks[i].num_indices != block2->tracks[i].num_indices)
816 if (block1->tracks[i].indices != NULL && block2->tracks[i].indices != NULL) {
817 FLAC__ASSERT(block1->tracks[i].num_indices > 0);
818 for (j = 0; j < block1->tracks[i].num_indices; j++) {
819 if (block1->tracks[i].indices[j].offset != block2->tracks[i].indices[j].offset)
821 if (block1->tracks[i].indices[j].number != block2->tracks[i].indices[j].number)
825 else if (block1->tracks[i].indices != block2->tracks[i].indices)
829 else if (block1->tracks != block2->tracks)
834 static FLAC__bool compare_block_data_picture_(const FLAC__StreamMetadata_Picture *block1, const FLAC__StreamMetadata_Picture *block2)
836 if (block1->type != block2->type)
838 if (block1->mime_type != block2->mime_type && (block1->mime_type == 0 || block2->mime_type == 0 || strcmp(block1->mime_type, block2->mime_type)))
840 if (block1->description != block2->description && (block1->description == 0 || block2->description == 0 || strcmp((const char *)block1->description, (const char *)block2->description)))
842 if (block1->width != block2->width)
844 if (block1->height != block2->height)
846 if (block1->depth != block2->depth)
848 if (block1->colors != block2->colors)
850 if (block1->data_length != block2->data_length)
852 if (block1->data != block2->data && (block1->data == NULL || block2->data == NULL || memcmp(block1->data, block2->data, block1->data_length)))
857 static FLAC__bool compare_block_data_unknown_(const FLAC__StreamMetadata_Unknown *block1, const FLAC__StreamMetadata_Unknown *block2, unsigned block_length)
859 FLAC__ASSERT(block1 != NULL);
862 if (block1->data != NULL && block2->data != NULL)
863 return memcmp(block1->data, block2->data, block_length) == 0;
865 return block1->data == block2->data;
868 FLAC_API FLAC__bool FLAC__metadata_object_is_equal(const FLAC__StreamMetadata *block1, const FLAC__StreamMetadata *block2)
870 FLAC__ASSERT(block1 != NULL);
873 if (block1->type != block2->type) {
876 if (block1->is_last != block2->is_last) {
879 if (block1->length != block2->length) {
882 switch(block1->type) {
884 return compare_block_data_streaminfo_(&block1->data.stream_info, &block2->data.stream_info);
888 return compare_block_data_application_(&block1->data.application, &block2->data.application, block1->length);
890 return compare_block_data_seektable_(&block1->data.seek_table, &block2->data.seek_table);
892 return compare_block_data_vorbiscomment_(&block1->data.vorbis_comment, &block2->data.vorbis_comment);
894 return compare_block_data_cuesheet_(&block1->data.cue_sheet, &block2->data.cue_sheet);
896 return compare_block_data_picture_(&block1->data.picture, &block2->data.picture);
898 return compare_block_data_unknown_(&block1->data.unknown, &block2->data.unknown, block1->length);