~ubuntu-branches/ubuntu/precise/gst-plugins-bad0.10/precise-proposed

« back to all changes in this revision

Viewing changes to gst/audioparsers/gstflacparse.c

  • Committer: Bazaar Package Importer
  • Author(s): Sebastian Dröge
  • Date: 2011-03-07 09:16:53 UTC
  • mfrom: (18.3.21 experimental)
  • Revision ID: james.westby@ubuntu.com-20110307091653-byfee32d39q0c5d4
Tags: 0.10.21-1ubuntu1
* Merge with Debian; remaining changes.
  - Remove plugins that are now provided -good in
    debian/gstreamer-plugins-bad.install:
    - libgstautoconvert.so
    - libgstdtmf.so
    - libgstliveadder.so
    - libgstrtpmux.so
  - Revert enabling of libgstlv2 -- drop lv2core, libslv2-dev from
    debian/build-deps.in and remove libgstlv2 from
    debian/gstreamer-plugins-bad.install.  This plugin segfaults on amd64
    and is too unstable for now. the bug requesting this was LP #511334 and
    the instability statement is at LP #513347. 

Show diffs side-by-side

added added

removed removed

Lines of Context:
961
961
  GValue array = { 0, };
962
962
  GstCaps *caps;
963
963
  GList *l;
 
964
  gboolean res = TRUE;
964
965
 
965
966
  caps = gst_caps_new_simple ("audio/x-flac",
966
967
      "channels", G_TYPE_INT, flacparse->channels,
1040
1041
 
1041
1042
  /* push header buffers; update caps, so when we push the first buffer the
1042
1043
   * negotiated caps will change to caps that include the streamheader field */
1043
 
  for (l = flacparse->headers; l != NULL; l = l->next) {
1044
 
    GstBuffer *buf = GST_BUFFER (l->data);
 
1044
  while (flacparse->headers) {
 
1045
    GstBuffer *buf = GST_BUFFER (flacparse->headers->data);
1045
1046
    GstFlowReturn ret;
1046
1047
 
1047
 
    l->data = NULL;
 
1048
    flacparse->headers =
 
1049
        g_list_delete_link (flacparse->headers, flacparse->headers);
1048
1050
    buf = gst_buffer_make_metadata_writable (buf);
1049
1051
    gst_buffer_set_caps (buf,
1050
1052
        GST_PAD_CAPS (GST_BASE_PARSE_SRC_PAD (GST_BASE_PARSE (flacparse))));
1051
1053
 
1052
1054
    ret = gst_base_parse_push_buffer (GST_BASE_PARSE (flacparse), buf);
1053
 
    if (ret != GST_FLOW_OK)
1054
 
      return FALSE;
 
1055
    if (ret != GST_FLOW_OK) {
 
1056
      res = FALSE;
 
1057
      break;
 
1058
    }
1055
1059
  }
 
1060
  g_list_foreach (flacparse->headers, (GFunc) gst_mini_object_unref, NULL);
1056
1061
  g_list_free (flacparse->headers);
1057
1062
  flacparse->headers = NULL;
1058
1063
 
1059
 
  return TRUE;
 
1064
  return res;
1060
1065
}
1061
1066
 
1062
1067
static gboolean