opusenc: Remove useless headers and header_sent variables from the instance struct
They are only used inside a single function.
This commit is contained in:
parent
856bb027f9
commit
42b5cc8938
@ -388,7 +388,6 @@ gst_opus_enc_start (GstAudioEncoder * benc)
|
|||||||
|
|
||||||
GST_DEBUG_OBJECT (enc, "start");
|
GST_DEBUG_OBJECT (enc, "start");
|
||||||
enc->tags = gst_tag_list_new_empty ();
|
enc->tags = gst_tag_list_new_empty ();
|
||||||
enc->header_sent = FALSE;
|
|
||||||
enc->encoded_samples = 0;
|
enc->encoded_samples = 0;
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@ -400,16 +399,12 @@ gst_opus_enc_stop (GstAudioEncoder * benc)
|
|||||||
GstOpusEnc *enc = GST_OPUS_ENC (benc);
|
GstOpusEnc *enc = GST_OPUS_ENC (benc);
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (enc, "stop");
|
GST_DEBUG_OBJECT (enc, "stop");
|
||||||
enc->header_sent = FALSE;
|
|
||||||
if (enc->state) {
|
if (enc->state) {
|
||||||
opus_multistream_encoder_destroy (enc->state);
|
opus_multistream_encoder_destroy (enc->state);
|
||||||
enc->state = NULL;
|
enc->state = NULL;
|
||||||
}
|
}
|
||||||
gst_tag_list_unref (enc->tags);
|
gst_tag_list_unref (enc->tags);
|
||||||
enc->tags = NULL;
|
enc->tags = NULL;
|
||||||
g_slist_foreach (enc->headers, (GFunc) gst_buffer_unref, NULL);
|
|
||||||
g_slist_free (enc->headers);
|
|
||||||
enc->headers = NULL;
|
|
||||||
gst_tag_setter_reset_tags (GST_TAG_SETTER (enc));
|
gst_tag_setter_reset_tags (GST_TAG_SETTER (enc));
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
@ -971,26 +966,19 @@ gst_opus_enc_handle_frame (GstAudioEncoder * benc, GstBuffer * buf)
|
|||||||
enc = GST_OPUS_ENC (benc);
|
enc = GST_OPUS_ENC (benc);
|
||||||
GST_DEBUG_OBJECT (enc, "handle_frame");
|
GST_DEBUG_OBJECT (enc, "handle_frame");
|
||||||
|
|
||||||
if (!enc->header_sent) {
|
if (!gst_pad_has_current_caps (GST_AUDIO_ENCODER_SRC_PAD (benc))) {
|
||||||
GstCaps *caps;
|
GstCaps *caps;
|
||||||
|
|
||||||
g_slist_foreach (enc->headers, (GFunc) gst_buffer_unref, NULL);
|
gst_opus_header_create_caps (&caps, NULL, enc->n_channels,
|
||||||
g_slist_free (enc->headers);
|
|
||||||
enc->headers = NULL;
|
|
||||||
|
|
||||||
gst_opus_header_create_caps (&caps, &enc->headers, enc->n_channels,
|
|
||||||
enc->n_stereo_streams, enc->sample_rate, enc->channel_mapping_family,
|
enc->n_stereo_streams, enc->sample_rate, enc->channel_mapping_family,
|
||||||
enc->decoding_channel_mapping,
|
enc->decoding_channel_mapping,
|
||||||
gst_tag_setter_get_tag_list (GST_TAG_SETTER (enc)));
|
gst_tag_setter_get_tag_list (GST_TAG_SETTER (enc)));
|
||||||
|
|
||||||
|
|
||||||
/* negotiate with these caps */
|
/* negotiate with these caps */
|
||||||
GST_DEBUG_OBJECT (enc, "here are the caps: %" GST_PTR_FORMAT, caps);
|
GST_DEBUG_OBJECT (enc, "here are the caps: %" GST_PTR_FORMAT, caps);
|
||||||
|
|
||||||
gst_audio_encoder_set_output_format (benc, caps);
|
gst_audio_encoder_set_output_format (benc, caps);
|
||||||
gst_caps_unref (caps);
|
gst_caps_unref (caps);
|
||||||
|
|
||||||
enc->header_sent = TRUE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (enc, "received buffer %p of %" G_GSIZE_FORMAT " bytes", buf,
|
GST_DEBUG_OBJECT (enc, "received buffer %p of %" G_GSIZE_FORMAT " bytes", buf,
|
||||||
|
@ -79,11 +79,8 @@ struct _GstOpusEnc {
|
|||||||
gint n_channels;
|
gint n_channels;
|
||||||
gint sample_rate;
|
gint sample_rate;
|
||||||
|
|
||||||
gboolean header_sent;
|
|
||||||
guint64 encoded_samples;
|
guint64 encoded_samples;
|
||||||
|
|
||||||
GSList *headers;
|
|
||||||
|
|
||||||
GstTagList *tags;
|
GstTagList *tags;
|
||||||
|
|
||||||
guint8 channel_mapping_family;
|
guint8 channel_mapping_family;
|
||||||
|
@ -163,7 +163,7 @@ gst_opus_header_create_caps_from_headers (GstCaps ** caps, GSList ** headers,
|
|||||||
guint8 *data;
|
guint8 *data;
|
||||||
|
|
||||||
g_return_if_fail (caps);
|
g_return_if_fail (caps);
|
||||||
g_return_if_fail (headers && !*headers);
|
g_return_if_fail (!headers || !*headers);
|
||||||
g_return_if_fail (gst_buffer_get_size (buf1) >= 19);
|
g_return_if_fail (gst_buffer_get_size (buf1) >= 19);
|
||||||
|
|
||||||
gst_buffer_map (buf1, &map, GST_MAP_READ);
|
gst_buffer_map (buf1, &map, GST_MAP_READ);
|
||||||
@ -199,8 +199,10 @@ gst_opus_header_create_caps_from_headers (GstCaps ** caps, GSList ** headers,
|
|||||||
"channels", G_TYPE_INT, channels, "rate", G_TYPE_INT, rate, NULL);
|
"channels", G_TYPE_INT, channels, "rate", G_TYPE_INT, rate, NULL);
|
||||||
*caps = _gst_caps_set_buffer_array (*caps, "streamheader", buf1, buf2, NULL);
|
*caps = _gst_caps_set_buffer_array (*caps, "streamheader", buf1, buf2, NULL);
|
||||||
|
|
||||||
*headers = g_slist_prepend (*headers, gst_buffer_ref (buf2));
|
if (headers) {
|
||||||
*headers = g_slist_prepend (*headers, gst_buffer_ref (buf1));
|
*headers = g_slist_prepend (*headers, gst_buffer_ref (buf2));
|
||||||
|
*headers = g_slist_prepend (*headers, gst_buffer_ref (buf1));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -211,7 +213,7 @@ gst_opus_header_create_caps (GstCaps ** caps, GSList ** headers, gint nchannels,
|
|||||||
GstBuffer *buf1, *buf2;
|
GstBuffer *buf1, *buf2;
|
||||||
|
|
||||||
g_return_if_fail (caps);
|
g_return_if_fail (caps);
|
||||||
g_return_if_fail (headers && !*headers);
|
g_return_if_fail (!headers || !*headers);
|
||||||
g_return_if_fail (nchannels > 0);
|
g_return_if_fail (nchannels > 0);
|
||||||
g_return_if_fail (sample_rate >= 0); /* 0 -> unset */
|
g_return_if_fail (sample_rate >= 0); /* 0 -> unset */
|
||||||
g_return_if_fail (channel_mapping_family == 0 || channel_mapping);
|
g_return_if_fail (channel_mapping_family == 0 || channel_mapping);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user