g_value_unset (&value);
}
-static gboolean
+static GstFlowReturn
gst_flac_parse_handle_headers (GstFlacParse * flacparse)
{
GstBuffer *vorbiscomment = NULL;
GValue array = { 0, };
GstCaps *caps;
GList *l;
- gboolean res = TRUE;
+ GstFlowReturn res = GST_FLOW_OK;
caps = gst_caps_new_simple ("audio/x-flac",
"channels", G_TYPE_INT, flacparse->channels,
* negotiated caps will change to caps that include the streamheader field */
while (flacparse->headers) {
GstBuffer *buf = GST_BUFFER (flacparse->headers->data);
- GstFlowReturn ret;
GstBaseParseFrame frame;
flacparse->headers =
gst_base_parse_frame_init (&frame);
frame.buffer = buf;
frame.overhead = -1;
- ret = gst_base_parse_push_frame (GST_BASE_PARSE (flacparse), &frame);
- if (ret != GST_FLOW_OK) {
- res = FALSE;
+ res = gst_base_parse_push_frame (GST_BASE_PARSE (flacparse), &frame);
+ if (res != GST_FLOW_OK)
break;
- }
gst_base_parse_frame_free (&frame);
}
g_list_foreach (flacparse->headers, (GFunc) gst_mini_object_unref, NULL);
}
if (is_last) {
- if (!gst_flac_parse_handle_headers (flacparse))
+ if ((res = gst_flac_parse_handle_headers (flacparse)) != GST_FLOW_OK)
goto cleanup;
/* Minimal size of a frame header */
GST_WARNING_OBJECT (flacparse,
"Generating headers for variable blocksize streams not supported");
- if (!gst_flac_parse_handle_headers (flacparse))
+ if ((res = gst_flac_parse_handle_headers (flacparse)) != GST_FLOW_OK)
goto cleanup;
} else {
GST_DEBUG_OBJECT (flacparse, "Generating headers");
if (!gst_flac_parse_generate_headers (flacparse))
goto cleanup;
- if (!gst_flac_parse_handle_headers (flacparse))
+ if ((res = gst_flac_parse_handle_headers (flacparse)) != GST_FLOW_OK)
goto cleanup;
}
flacparse->state = GST_FLAC_PARSE_STATE_DATA;