| | 771 | } |
|---|
| | 772 | |
|---|
| | 773 | bool isCoverArt = false, isJPEG; |
|---|
| | 774 | |
|---|
| | 775 | if (fileName == "cover.jpg") { |
|---|
| | 776 | isCoverArt = isJPEG = true; |
|---|
| | 777 | } else if (fileName == "cover.png") { |
|---|
| | 778 | isCoverArt = true; |
|---|
| | 779 | isJPEG = false; |
|---|
| | 780 | } |
|---|
| | 781 | |
|---|
| | 782 | if (isCoverArt) { |
|---|
| | 783 | KaxFileData & fileData = GetChild<KaxFileData>(*attachedFile); |
|---|
| | 784 | FourCharCode key = 'covr'; //iTunes cover art tag |
|---|
| | 785 | QTMetaDataRef movieMetaData; |
|---|
| | 786 | OSStatus err = QTCopyMovieMetaData(theMovie, &movieMetaData); |
|---|
| | 787 | |
|---|
| | 788 | err = QTMetaDataAddItem(movieMetaData, |
|---|
| | 789 | kQTMetaDataStorageFormatiTunes, kQTMetaDataKeyFormatiTunesShortForm, |
|---|
| | 790 | (UInt8 *)&key, sizeof(key), |
|---|
| | 791 | fileData.GetBuffer(), |
|---|
| | 792 | fileData.GetSize(), |
|---|
| | 793 | isJPEG ? kQTMetaDataTypeJPEGImage : kQTMetaDataTypePNGImage, NULL); |
|---|
| | 794 | if (err) |
|---|
| | 795 | Codecprintf(NULL, "MKV: Error adding cover art %d\n", err); |
|---|
| | 796 | |
|---|
| | 797 | QTMetaDataRelease(movieMetaData); |
|---|