mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-25 09:40:37 +00:00
opusenc: Create an empty taglist if there is none
There always have to be 2 buffers in the streamheaders, even if the comment buffer is basically empty.
This commit is contained in:
parent
4ca84a9b1a
commit
85984fa946
1 changed files with 5 additions and 0 deletions
|
@ -711,6 +711,7 @@ gst_opus_enc_setup (GstOpusEnc * enc)
|
||||||
gboolean ret;
|
gboolean ret;
|
||||||
gint32 lookahead;
|
gint32 lookahead;
|
||||||
const GstTagList *tags;
|
const GstTagList *tags;
|
||||||
|
GstTagList *empty_tags = NULL;
|
||||||
GstBuffer *header, *comments;
|
GstBuffer *header, *comments;
|
||||||
|
|
||||||
#ifndef GST_DISABLE_GST_DEBUG
|
#ifndef GST_DISABLE_GST_DEBUG
|
||||||
|
@ -763,10 +764,14 @@ gst_opus_enc_setup (GstOpusEnc * enc)
|
||||||
enc->n_channels - enc->n_stereo_streams, enc->n_stereo_streams,
|
enc->n_channels - enc->n_stereo_streams, enc->n_stereo_streams,
|
||||||
enc->decoding_channel_mapping, lookahead, 0);
|
enc->decoding_channel_mapping, lookahead, 0);
|
||||||
tags = gst_tag_setter_get_tag_list (GST_TAG_SETTER (enc));
|
tags = gst_tag_setter_get_tag_list (GST_TAG_SETTER (enc));
|
||||||
|
if (!tags)
|
||||||
|
tags = empty_tags = gst_tag_list_new_empty ();
|
||||||
comments =
|
comments =
|
||||||
gst_tag_list_to_vorbiscomment_buffer (tags, (const guint8 *) "OpusTags",
|
gst_tag_list_to_vorbiscomment_buffer (tags, (const guint8 *) "OpusTags",
|
||||||
8, "Encoded with GStreamer opusenc");
|
8, "Encoded with GStreamer opusenc");
|
||||||
caps = gst_codec_utils_opus_create_caps_from_header (header, comments);
|
caps = gst_codec_utils_opus_create_caps_from_header (header, comments);
|
||||||
|
if (empty_tags)
|
||||||
|
gst_tag_list_unref (empty_tags);
|
||||||
gst_buffer_unref (header);
|
gst_buffer_unref (header);
|
||||||
gst_buffer_unref (comments);
|
gst_buffer_unref (comments);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue