⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 metadata_object.c

📁 这是著名的TCPMP播放器在WINDWOWS,和WINCE下编译通过的源程序.笔者对其中的LIBMAD库做了针对ARM MPU的优化. 并增加了词幕功能.
💻 C
📖 第 1 页 / 共 5 页
字号:
		return false;
	}
	if(!mutils__compare_block(vorbiscomment, block))
		return false;
	printf("OK\n");

	printf("testing FLAC__metadata_object_vorbiscomment_delete_comment() on beginning of array...");
	vc_delete_(vorbiscomment, 0);
	if(!FLAC__metadata_object_vorbiscomment_delete_comment(block, 0)) {
		printf("FAILED, returned false\n");
		return false;
	}
	if(!mutils__compare_block(vorbiscomment, block))
		return false;
	printf("OK\n");

	printf("testing FLAC__metadata_object_vorbiscomment_set_comment(own)...");
	vc_set_new_(&entry, vorbiscomment, 0, "name5=field5");
	entry_clone_(&entry);
	FLAC__metadata_object_vorbiscomment_set_comment(block, 0, entry, /*copy=*/false);
	if(!mutils__compare_block(vorbiscomment, block))
		return false;
	printf("OK\n");

	printf("testing FLAC__metadata_object_vorbiscomment_set_vendor_string(own)...");
	vc_set_vs_new_(&entry, vorbiscomment, "name6=field6");
	entry_clone_(&entry);
	FLAC__metadata_object_vorbiscomment_set_vendor_string(block, entry, /*copy=*/false);
	if(!mutils__compare_block(vorbiscomment, block))
		return false;
	printf("OK\n");

	printf("testing FLAC__metadata_object_delete()... ");
	FLAC__metadata_object_delete(vorbiscomment);
	FLAC__metadata_object_delete(block);
	printf("OK\n");


	printf("testing CUESHEET\n");

	{
		FLAC__StreamMetadata_CueSheet_Track *track_, *trackcopy_;

		printf("testing FLAC__metadata_object_cuesheet_track_new()... ");
		track_ = FLAC__metadata_object_cuesheet_track_new();
		if(0 == track_) {
			printf("FAILED, returned NULL\n");
			return false;
		}
		printf("OK\n");

		printf("testing FLAC__metadata_object_cuesheet_track_clone()... ");
		trackcopy_ = FLAC__metadata_object_cuesheet_track_clone(track_);
		if(0 == trackcopy_) {
			printf("FAILED, returned NULL\n");
			return false;
		}
		if(!compare_track_(trackcopy_, track_))
			return false;
		printf("OK\n");

		printf("testing FLAC__metadata_object_cuesheet_track_delete()... ");
		FLAC__metadata_object_cuesheet_track_delete(trackcopy_);
		FLAC__metadata_object_cuesheet_track_delete(track_);
		printf("OK\n");
	}


	printf("testing FLAC__metadata_object_new()... ");
	block = FLAC__metadata_object_new(FLAC__METADATA_TYPE_CUESHEET);
	if(0 == block) {
		printf("FAILED, returned NULL\n");
		return false;
	}
	expected_length = (
		FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN +
		FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN +
		FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN +
		FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN +
		FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN
	) / 8;
	if(block->length != expected_length) {
		printf("FAILED, bad length, expected %u, got %u\n", expected_length, block->length);
		return false;
	}
	printf("OK\n");

	printf("testing FLAC__metadata_object_clone()... ");
	cuesheet = FLAC__metadata_object_clone(block);
	if(0 == cuesheet) {
		printf("FAILED, returned NULL\n");
		return false;
	}
	if(!mutils__compare_block(cuesheet, block))
		return false;
	printf("OK\n");

	cs_resize_(cuesheet, 2);
	printf("testing FLAC__metadata_object_cuesheet_resize_tracks(grow to %u)...", cuesheet->data.cue_sheet.num_tracks);
	if(!FLAC__metadata_object_cuesheet_resize_tracks(block, cuesheet->data.cue_sheet.num_tracks)) {
		printf("FAILED, returned false\n");
		return false;
	}
	if(!mutils__compare_block(cuesheet, block))
		return false;
	printf("OK\n");

	cs_resize_(cuesheet, 1);
	printf("testing FLAC__metadata_object_cuesheet_resize_tracks(shrink to %u)...", cuesheet->data.cue_sheet.num_tracks);
	if(!FLAC__metadata_object_cuesheet_resize_tracks(block, cuesheet->data.cue_sheet.num_tracks)) {
		printf("FAILED, returned false\n");
		return false;
	}
	if(!mutils__compare_block(cuesheet, block))
		return false;
	printf("OK\n");

	cs_resize_(cuesheet, 0);
	printf("testing FLAC__metadata_object_cuesheet_resize_tracks(shrink to %u)...", cuesheet->data.cue_sheet.num_tracks);
	if(!FLAC__metadata_object_cuesheet_resize_tracks(block, cuesheet->data.cue_sheet.num_tracks)) {
		printf("FAILED, returned false\n");
		return false;
	}
	if(!mutils__compare_block(cuesheet, block))
		return false;
	printf("OK\n");

	printf("testing FLAC__metadata_object_cuesheet_insert_track(copy) on empty array...");
	cs_insert_new_(&track, cuesheet, 0, 0, 1, "ABCDE1234567", false, false);
	if(!FLAC__metadata_object_cuesheet_insert_track(block, 0, &track, /*copy=*/true)) {
		printf("FAILED, returned false\n");
		return false;
	}
	if(!mutils__compare_block(cuesheet, block))
		return false;
	printf("OK\n");

	printf("testing FLAC__metadata_object_cuesheet_insert_track(copy) on beginning of non-empty array...");
	cs_insert_new_(&track, cuesheet, 0, 10, 2, "BBCDE1234567", false, false);
	if(!FLAC__metadata_object_cuesheet_insert_track(block, 0, &track, /*copy=*/true)) {
		printf("FAILED, returned false\n");
		return false;
	}
	if(!mutils__compare_block(cuesheet, block))
		return false;
	printf("OK\n");

	printf("testing FLAC__metadata_object_cuesheet_insert_track(copy) on middle of non-empty array...");
	cs_insert_new_(&track, cuesheet, 1, 20, 3, "CBCDE1234567", false, false);
	if(!FLAC__metadata_object_cuesheet_insert_track(block, 1, &track, /*copy=*/true)) {
		printf("FAILED, returned false\n");
		return false;
	}
	if(!mutils__compare_block(cuesheet, block))
		return false;
	printf("OK\n");

	printf("testing FLAC__metadata_object_cuesheet_insert_track(copy) on end of non-empty array...");
	cs_insert_new_(&track, cuesheet, 3, 30, 4, "DBCDE1234567", false, false);
	if(!FLAC__metadata_object_cuesheet_insert_track(block, 3, &track, /*copy=*/true)) {
		printf("FAILED, returned false\n");
		return false;
	}
	if(!mutils__compare_block(cuesheet, block))
		return false;
	printf("OK\n");

	printf("testing FLAC__metadata_object_cuesheet_insert_blank_track() on end of non-empty array...");
	cs_insert_new_(&track, cuesheet, 4, 0, 0, "\0\0\0\0\0\0\0\0\0\0\0\0", false, false);
	if(!FLAC__metadata_object_cuesheet_insert_blank_track(block, 4)) {
		printf("FAILED, returned false\n");
		return false;
	}
	if(!mutils__compare_block(cuesheet, block))
		return false;
	printf("OK\n");

	printf("testing FLAC__metadata_object_clone()... ");
	blockcopy = FLAC__metadata_object_clone(block);
	if(0 == blockcopy) {
		printf("FAILED, returned NULL\n");
		return false;
	}
	if(!mutils__compare_block(block, blockcopy))
		return false;
	printf("OK\n");

	printf("testing FLAC__metadata_object_delete()... ");
	FLAC__metadata_object_delete(blockcopy);
	printf("OK\n");

	printf("testing FLAC__metadata_object_cuesheet_delete_track() on end of array...");
	cs_delete_(cuesheet, 4);
	if(!FLAC__metadata_object_cuesheet_delete_track(block, 4)) {
		printf("FAILED, returned false\n");
		return false;
	}
	if(!mutils__compare_block(cuesheet, block))
		return false;
	printf("OK\n");

	printf("testing FLAC__metadata_object_cuesheet_delete_track() on middle of array...");
	cs_delete_(cuesheet, 2);
	if(!FLAC__metadata_object_cuesheet_delete_track(block, 2)) {
		printf("FAILED, returned false\n");
		return false;
	}
	if(!mutils__compare_block(cuesheet, block))
		return false;
	printf("OK\n");

	printf("testing FLAC__metadata_object_cuesheet_delete_track() on end of array...");
	cs_delete_(cuesheet, 2);
	if(!FLAC__metadata_object_cuesheet_delete_track(block, 2)) {
		printf("FAILED, returned false\n");
		return false;
	}
	if(!mutils__compare_block(cuesheet, block))
		return false;
	printf("OK\n");

	printf("testing FLAC__metadata_object_cuesheet_delete_track() on beginning of array...");
	cs_delete_(cuesheet, 0);
	if(!FLAC__metadata_object_cuesheet_delete_track(block, 0)) {
		printf("FAILED, returned false\n");
		return false;
	}
	if(!mutils__compare_block(cuesheet, block))
		return false;
	printf("OK\n");

	printf("testing FLAC__metadata_object_cuesheet_set_track(copy)...");
	cs_set_new_(&track, cuesheet, 0, 40, 5, "EBCDE1234567", false, false);
	FLAC__metadata_object_cuesheet_set_track(block, 0, &track, /*copy=*/true);
	if(!mutils__compare_block(cuesheet, block))
		return false;
	printf("OK\n");

	tr_resize_(cuesheet, 0, 2);
	printf("testing FLAC__metadata_object_cuesheet_track_resize_indices(grow to %u)...", cuesheet->data.cue_sheet.tracks[0].num_indices);
	if(!FLAC__metadata_object_cuesheet_track_resize_indices(block, 0, cuesheet->data.cue_sheet.tracks[0].num_indices)) {
		printf("FAILED, returned false\n");
		return false;
	}
	if(!mutils__compare_block(cuesheet, block))
		return false;
	printf("OK\n");

	tr_resize_(cuesheet, 0, 1);
	printf("testing FLAC__metadata_object_cuesheet_track_resize_indices(shrink to %u)...", cuesheet->data.cue_sheet.tracks[0].num_indices);
	if(!FLAC__metadata_object_cuesheet_track_resize_indices(block, 0, cuesheet->data.cue_sheet.tracks[0].num_indices)) {
		printf("FAILED, returned false\n");
		return false;
	}
	if(!mutils__compare_block(cuesheet, block))
		return false;
	printf("OK\n");

	tr_resize_(cuesheet, 0, 0);
	printf("testing FLAC__metadata_object_cuesheet_track_resize_indices(shrink to %u)...", cuesheet->data.cue_sheet.tracks[0].num_indices);
	if(!FLAC__metadata_object_cuesheet_track_resize_indices(block, 0, cuesheet->data.cue_sheet.tracks[0].num_indices)) {
		printf("FAILED, returned false\n");
		return false;
	}
	if(!mutils__compare_block(cuesheet, block))
		return false;
	printf("OK\n");

	index.offset = 0;
	index.number = 1;
	printf("testing FLAC__metadata_object_cuesheet_track_insert_index() on empty array...");
	tr_insert_new_(cuesheet, 0, 0, index);
	if(!FLAC__metadata_object_cuesheet_track_insert_index(block, 0, 0, index)) {
		printf("FAILED, returned false\n");
		return false;
	}
	if(!mutils__compare_block(cuesheet, block))
		return false;
	printf("OK\n");

	index.offset = 10;
	index.number = 2;
	printf("testing FLAC__metadata_object_cuesheet_track_insert_index() on beginning of non-empty array...");
	tr_insert_new_(cuesheet, 0, 0, index);
	if(!FLAC__metadata_object_cuesheet_track_insert_index(block, 0, 0, index)) {
		printf("FAILED, returned false\n");
		return false;
	}
	if(!mutils__compare_block(cuesheet, block))
		return false;
	printf("OK\n");

	index.offset = 20;
	index.number = 3;
	printf("testing FLAC__metadata_object_cuesheet_track_insert_index() on middle of non-empty array...");
	tr_insert_new_(cuesheet, 0, 1, index);
	if(!FLAC__metadata_object_cuesheet_track_insert_index(block, 0, 1, index)) {
		printf("FAILED, returned false\n");
		return false;
	}
	if(!mutils__compare_block(cuesheet, block))
		return false;
	printf("OK\n");

	index.offset = 30;
	index.number = 4;
	printf("testing FLAC__metadata_object_cuesheet_track_insert_index() on end of non-empty array...");
	tr_insert_new_(cuesheet, 0, 3, index);
	if(!FLAC__metadata_object_cuesheet_track_insert_index(block, 0, 3, index)) {
		printf("FAILED, returned false\n");
		return false;
	}
	if(!mutils__compare_block(cuesheet, block))
		return false;
	printf("OK\n");

	index.offset = 0;
	index.number = 0;
	printf("testing FLAC__metadata_object_cuesheet_track_insert_blank_index() on end of non-empty array...");
	tr_insert_new_(cuesheet, 0, 4, index);
	if(!FLAC__metadata_object_cuesheet_track_insert_blank_index(block, 0, 4)) {
		printf("FAILED, returned false\n");
		return false;
	}
	if(!mutils__compare_block(cuesheet, block))
		return false;
	printf("OK\n");

	printf("testing FLAC__metadata_object_clone()... ");
	blockcopy = FLAC__metadata_object_clone(block);
	if(0 == blockcopy) {
		printf("FAILED, returned NULL\n");
		return false;
	}
	if(!mutils__compare_block(block, blockcopy))
		return false;
	printf("OK\n");

	printf("testing FLAC__metadata_object_delete()... ");
	FLAC__metadata_object_delete(blockcopy);
	printf("OK\n");

	printf("testing FLAC__metadata_object_cuesheet_track_delete_index() on end of array...");
	tr_delete_(cuesheet, 0, 4);
	if(!FLAC__metadata_object_cuesheet_track_delete_index(block, 0, 4)) {
		printf("FAILED, returned false\n");
		return false;
	}
	if(!mutils__compare_block(cuesheet, block))
		return false;
	printf("OK\n");

	printf("testing FLAC__metadata_object_cuesheet_track_delete_index() on middle of array...");
	tr_delete_(cuesheet, 0, 2);
	if(!FLAC__metadata_object_cuesheet_track_delete_index(block, 0, 2)) {
		printf("FAILED, returned false\n");
		return false;
	}
	if(!mutils__compare_block(cuesheet, block))
		return false;
	printf("OK\n");

	printf("testing FLAC__metadata_object_cuesheet_track_delete_index() on end of array...");
	tr_delete_(cuesheet, 0, 2);
	if(!FLAC__metadata_object_cuesheet_track_delete_index(block, 0, 2)) {
		printf("FAILED, returned false\n");
		return fa

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -