mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-22 01:31:03 +00:00
flacenc: Fix mapping of GStreamer image tag type to FLAC image tag type
These enums are not compatible so just casting them does not work. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4210>
This commit is contained in:
parent
ccad9a7338
commit
7e2a0779c3
1 changed files with 83 additions and 1 deletions
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue