diff --git a/subprojects/gst-plugins-good/ext/flac/gstflacenc.c b/subprojects/gst-plugins-good/ext/flac/gstflacenc.c index 1993e7d288..ce91231624 100644 --- a/subprojects/gst-plugins-good/ext/flac/gstflacenc.c +++ b/subprojects/gst-plugins-good/ext/flac/gstflacenc.c @@ -687,7 +687,89 @@ gst_flac_enc_set_metadata (GstFlacEnc * flacenc, GstAudioInfo * info, gst_buffer_unmap (buffer, &map); GST_LOG_OBJECT (flacenc, "Setting picture type %d", image_type); - flacenc->meta[entries]->data.picture.type = image_type; + switch (image_type) { + case GST_TAG_IMAGE_TYPE_NONE: + flacenc->meta[entries]->data.picture.type = + FLAC__STREAM_METADATA_PICTURE_TYPE_OTHER; + break; + case GST_TAG_IMAGE_TYPE_FRONT_COVER: + flacenc->meta[entries]->data.picture.type = + FLAC__STREAM_METADATA_PICTURE_TYPE_FRONT_COVER; + break; + case GST_TAG_IMAGE_TYPE_BACK_COVER: + flacenc->meta[entries]->data.picture.type = + FLAC__STREAM_METADATA_PICTURE_TYPE_BACK_COVER; + break; + case GST_TAG_IMAGE_TYPE_LEAFLET_PAGE: + flacenc->meta[entries]->data.picture.type = + FLAC__STREAM_METADATA_PICTURE_TYPE_LEAFLET_PAGE; + break; + case GST_TAG_IMAGE_TYPE_MEDIUM: + flacenc->meta[entries]->data.picture.type = + FLAC__STREAM_METADATA_PICTURE_TYPE_MEDIA; + break; + case GST_TAG_IMAGE_TYPE_LEAD_ARTIST: + flacenc->meta[entries]->data.picture.type = + FLAC__STREAM_METADATA_PICTURE_TYPE_LEAD_ARTIST; + break; + case GST_TAG_IMAGE_TYPE_ARTIST: + flacenc->meta[entries]->data.picture.type = + FLAC__STREAM_METADATA_PICTURE_TYPE_ARTIST; + break; + case GST_TAG_IMAGE_TYPE_CONDUCTOR: + flacenc->meta[entries]->data.picture.type = + FLAC__STREAM_METADATA_PICTURE_TYPE_CONDUCTOR; + break; + case GST_TAG_IMAGE_TYPE_BAND_ORCHESTRA: + flacenc->meta[entries]->data.picture.type = + FLAC__STREAM_METADATA_PICTURE_TYPE_BAND; + break; + case GST_TAG_IMAGE_TYPE_COMPOSER: + flacenc->meta[entries]->data.picture.type = + FLAC__STREAM_METADATA_PICTURE_TYPE_COMPOSER; + break; + case GST_TAG_IMAGE_TYPE_LYRICIST: + flacenc->meta[entries]->data.picture.type = + FLAC__STREAM_METADATA_PICTURE_TYPE_LYRICIST; + break; + case GST_TAG_IMAGE_TYPE_RECORDING_LOCATION: + flacenc->meta[entries]->data.picture.type = + FLAC__STREAM_METADATA_PICTURE_TYPE_RECORDING_LOCATION; + break; + case GST_TAG_IMAGE_TYPE_DURING_RECORDING: + flacenc->meta[entries]->data.picture.type = + FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_RECORDING; + break; + case GST_TAG_IMAGE_TYPE_DURING_PERFORMANCE: + flacenc->meta[entries]->data.picture.type = + FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_PERFORMANCE; + break; + case GST_TAG_IMAGE_TYPE_VIDEO_CAPTURE: + flacenc->meta[entries]->data.picture.type = + FLAC__STREAM_METADATA_PICTURE_TYPE_VIDEO_SCREEN_CAPTURE; + break; + case GST_TAG_IMAGE_TYPE_FISH: + flacenc->meta[entries]->data.picture.type = + FLAC__STREAM_METADATA_PICTURE_TYPE_FISH; + break; + case GST_TAG_IMAGE_TYPE_ILLUSTRATION: + flacenc->meta[entries]->data.picture.type = + FLAC__STREAM_METADATA_PICTURE_TYPE_ILLUSTRATION; + break; + case GST_TAG_IMAGE_TYPE_BAND_ARTIST_LOGO: + flacenc->meta[entries]->data.picture.type = + FLAC__STREAM_METADATA_PICTURE_TYPE_BAND_LOGOTYPE; + break; + case GST_TAG_IMAGE_TYPE_PUBLISHER_STUDIO_LOGO: + flacenc->meta[entries]->data.picture.type = + FLAC__STREAM_METADATA_PICTURE_TYPE_PUBLISHER_LOGOTYPE; + break; + case GST_TAG_IMAGE_TYPE_UNDEFINED: + default: + flacenc->meta[entries]->data.picture.type = + FLAC__STREAM_METADATA_PICTURE_TYPE_UNDEFINED; + break; + } if (width > 0 && height > 0) { flacenc->meta[entries]->data.picture.width = width;