Lines Matching refs:parse
41 "Parse a SBC audio stream",
63 GstSbcParse *parse = GST_SBC_PARSE(gst_pad_get_parent(pad));
69 if (parse->buffer) {
72 buffer = gst_buffer_span(parse->buffer, 0, buffer,
73 GST_BUFFER_SIZE(parse->buffer)
75 gst_buffer_unref(parse->buffer);
77 parse->buffer = NULL;
87 consumed = sbc_parse(&parse->new_sbc, data + offset,
92 if (parse->first_parsing || (memcmp(&parse->sbc,
93 &parse->new_sbc, sizeof(sbc_t)) != 0)) {
95 memcpy(&parse->sbc, &parse->new_sbc, sizeof(sbc_t));
96 if (parse->outcaps != NULL)
97 gst_caps_unref(parse->outcaps);
99 parse->outcaps = gst_sbc_parse_caps_from_sbc(
100 &parse->sbc);
102 parse->first_parsing = FALSE;
105 res = gst_pad_alloc_buffer_and_set_caps(parse->srcpad,
107 consumed, parse->outcaps, &output);
114 res = gst_pad_push(parse->srcpad, output);
122 parse->buffer = gst_buffer_create_sub(buffer,
127 gst_object_unref(parse);
135 GstSbcParse *parse = GST_SBC_PARSE(element);
141 parse->channels = -1;
142 parse->rate = -1;
143 parse->first_parsing = TRUE;
145 sbc_init(&parse->sbc, 0);
151 if (parse->buffer) {
152 gst_buffer_unref(parse->buffer);
153 parse->buffer = NULL;
155 if (parse->outcaps != NULL) {
156 gst_caps_unref(parse->outcaps);
157 parse->outcaps = NULL;
160 sbc_finish(&parse->sbc);