这篇教程C++ GST_BASE_SRC_PAD函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中GST_BASE_SRC_PAD函数的典型用法代码示例。如果您正苦于以下问题:C++ GST_BASE_SRC_PAD函数的具体用法?C++ GST_BASE_SRC_PAD怎么用?C++ GST_BASE_SRC_PAD使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了GST_BASE_SRC_PAD函数的28个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: gst_dtmf_src_negotiatestatic gbooleangst_dtmf_src_negotiate (GstBaseSrc * basesrc){ GstDTMFSrc *dtmfsrc = GST_DTMF_SRC (basesrc); GstCaps *caps; GstStructure *s; gboolean ret; caps = gst_pad_get_allowed_caps (GST_BASE_SRC_PAD (basesrc)); if (!caps) caps = gst_caps_copy (gst_pad_get_pad_template_caps (GST_BASE_SRC_PAD (basesrc))); if (gst_caps_is_empty (caps)) return FALSE; gst_caps_truncate (caps); s = gst_caps_get_structure (caps, 0); gst_structure_fixate_field_nearest_int (s, "rate", DEFAULT_SAMPLE_RATE); if (!gst_structure_get_int (s, "rate", &dtmfsrc->sample_rate)) { GST_ERROR_OBJECT (dtmfsrc, "Could not get rate"); gst_caps_unref (caps); return FALSE; } ret = gst_pad_set_caps (GST_BASE_SRC_PAD (basesrc), caps); gst_caps_unref (caps); return ret;}
开发者ID:PeterXu,项目名称:gst-mobile,代码行数:35,
示例2: gst_decklink_audio_src_get_capsstatic GstCaps *gst_decklink_audio_src_get_caps (GstBaseSrc * bsrc, GstCaps * filter){ GstDecklinkAudioSrc *self = GST_DECKLINK_AUDIO_SRC_CAST (bsrc); GstCaps *caps; // We don't support renegotiation caps = gst_pad_get_current_caps (GST_BASE_SRC_PAD (bsrc)); if (!caps) { GstCaps *channel_filter, *templ; templ = gst_pad_get_pad_template_caps (GST_BASE_SRC_PAD (bsrc)); channel_filter = gst_caps_new_simple ("audio/x-raw", "channels", G_TYPE_INT, self->channels, NULL); caps = gst_caps_intersect (channel_filter, templ); gst_caps_unref (channel_filter); gst_caps_unref (templ); } if (filter) { GstCaps *tmp = gst_caps_intersect_full (filter, caps, GST_CAPS_INTERSECT_FIRST); gst_caps_unref (caps); caps = tmp; } return caps;}
开发者ID:pexip,项目名称:gst-plugins-bad,代码行数:29,
示例3: gst_win_inet_src_createstatic GstFlowReturngst_win_inet_src_create (GstPushSrc * pushsrc, GstBuffer ** buffer){ GstWinInetSrc *self = GST_WIN_INET_SRC (pushsrc); GstBaseSrc *basesrc = GST_BASE_SRC (pushsrc); GstBuffer *buf = NULL; GstFlowReturn ret = GST_FLOW_OK; DWORD bytes_read = 0; do { GstCaps *caps = GST_PAD_CAPS (GST_BASE_SRC_PAD (self)); if (self->icy_caps != NULL) caps = self->icy_caps; ret = gst_pad_alloc_buffer (GST_BASE_SRC_PAD (basesrc), self->cur_offset, basesrc->blocksize, caps, &buf); if (G_LIKELY (ret == GST_FLOW_OK)) { if (InternetReadFile (self->url, GST_BUFFER_DATA (buf), basesrc->blocksize, &bytes_read)) { if (bytes_read == 0) { if (self->poll_mode) { if (gst_win_inet_src_open (self)) { gst_buffer_unref (buf); buf = NULL; } else { ret = GST_FLOW_ERROR; } } else { GST_ERROR_OBJECT (self, "short read (eof?)"); ret = GST_FLOW_UNEXPECTED; } } } else { GST_ERROR_OBJECT (self, "InternetReadFile failed: 0x%08lx", GetLastError ()); ret = GST_FLOW_ERROR; } } } while (bytes_read == 0 && ret == GST_FLOW_OK); if (ret == GST_FLOW_OK) { GST_BUFFER_SIZE (buf) = bytes_read; self->cur_offset += bytes_read; *buffer = buf; } else { if (buf != NULL) gst_buffer_unref (buf); } return ret;}
开发者ID:LCW523,项目名称:gst-plugins-bad,代码行数:56,
示例4: gst_dv1394src_iec61883_receivestatic intgst_dv1394src_iec61883_receive (unsigned char *data, int len, int complete, void *cbdata){ GstDV1394Src *dv1394src = GST_DV1394SRC (cbdata); if (G_UNLIKELY (!GST_PAD_CAPS (GST_BASE_SRC_PAD (dv1394src)))) { GstCaps *caps; unsigned char *p = data; // figure format (NTSC/PAL) if (p[3] & 0x80) { // PAL dv1394src->frame_size = PAL_FRAMESIZE; dv1394src->frame_rate = PAL_FRAMERATE; GST_DEBUG ("PAL data"); caps = gst_caps_new_simple ("video/x-dv", "format", G_TYPE_STRING, "PAL", "systemstream", G_TYPE_BOOLEAN, TRUE, NULL); } else { // NTSC (untested) dv1394src->frame_size = NTSC_FRAMESIZE; dv1394src->frame_rate = NTSC_FRAMERATE; GST_DEBUG ("NTSC data [untested] - please report success/failure to <[email C++ GST_BASE_TRANSFORM函数代码示例 C++ GST_BASE_SRC_CLASS函数代码示例
|