Exemplo n.º 1
0
/**
 * Initialize the new element instance
 *
 * We instantiate our pad and add it to the element
 * We set the pad calback functions, and initialize instance data for our structure.
 * \todo shouldn't this code call the base class init also?
 *
 * \param me		pointer to the new instance
 * \param gclass	pointer to the class definition
 */
static void
gst_ccnxsrc_init (Gstccnxsrc * me,
    /*@unused@ */ GstccnxsrcClass * gclass)
{
  gint i;

  me->srcpad = gst_pad_new_from_static_template (&src_factory, "src");
  gst_pad_set_getcaps_function (me->srcpad,
      GST_DEBUG_FUNCPTR (gst_pad_proxy_getcaps));

  gst_element_add_pad (GST_ELEMENT (me), me->srcpad);

  me->silent = FALSE;
  me->uri = g_strdup (CCNX_DEFAULT_URI);
  me->fifo_head = 0;
  me->fifo_tail = 0;
  me->intWindow = 0;
  me->intStates = calloc (CCN_WINDOW_SIZE, sizeof (CcnxInterestState)); /* init the array of outstanding states */
  for (i = 0; i < CCN_WINDOW_SIZE; ++i)
    me->intStates[i].state = OInterest_idle;
  me->i_pos = 0;
  me->i_bufoffset = 0;
  me->buf = gst_buffer_new_and_alloc (CCN_FIFO_BLOCK_SIZE);

  gst_base_src_set_format (GST_BASE_SRC (me), GST_FORMAT_TIME);
  gst_base_src_set_do_timestamp (GST_BASE_SRC (me), TRUE);
}
Exemplo n.º 2
0
static void
gst_wasapi_src_init (GstWasapiSrc * self, GstWasapiSrcClass * gclass)
{
  GstBaseSrc *basesrc = GST_BASE_SRC (self);

  gst_base_src_set_format (basesrc, GST_FORMAT_TIME);
  gst_base_src_set_live (basesrc, TRUE);

  self->rate = 8000;
  self->buffer_time = 20 * GST_MSECOND;
  self->period_time = 20 * GST_MSECOND;
  self->latency = GST_CLOCK_TIME_NONE;
  self->samples_per_buffer = self->rate / (GST_SECOND / self->period_time);

  self->start_time = GST_CLOCK_TIME_NONE;
  self->next_time = GST_CLOCK_TIME_NONE;

#if GST_CHECK_VERSION(0, 10, 31) || (GST_CHECK_VERSION(0, 10, 30) && GST_VERSION_NANO > 0)
  self->clock = gst_audio_clock_new_full ("GstWasapiSrcClock",
      gst_wasapi_src_get_time, gst_object_ref (self),
      (GDestroyNotify) gst_object_unref);
#else
  self->clock = gst_audio_clock_new ("GstWasapiSrcClock",
      gst_wasapi_src_get_time, self);
#endif

  CoInitialize (NULL);
}
Exemplo n.º 3
0
static void
gst_phoenixsrc_init (GstPhoenixSrc * phoenixsrc)
{
  /* set source as live (no preroll) */
  gst_base_src_set_live (GST_BASE_SRC (phoenixsrc), TRUE);

  /* override default of BYTES to operate in time mode */
  gst_base_src_set_format (GST_BASE_SRC (phoenixsrc), GST_FORMAT_TIME);

  /* initialize member variables */
  phoenixsrc->config_filepath = g_strdup (DEFAULT_PROP_CAMERA_CONFIG_FILEPATH);
  phoenixsrc->num_capture_buffers = DEFAULT_PROP_NUM_CAPTURE_BUFFERS;

  phoenixsrc->first_phoenix_ts = GST_CLOCK_TIME_NONE;
  phoenixsrc->frame_start_times =
      g_new (guint64, phoenixsrc->num_capture_buffers);
  phoenixsrc->frame_end_times =
      g_new (guint64, phoenixsrc->num_capture_buffers);
  phoenixsrc->buffer_ready = FALSE;
  phoenixsrc->timeout_occurred = FALSE;
  phoenixsrc->fifo_overflow_occurred = FALSE;

  phoenixsrc->buffer_ready_count = 0;
  phoenixsrc->buffer_processed_count = 0;
  phoenixsrc->frame_end_count = 0;
  phoenixsrc->frame_start_count = 0;
  /*phoenixsrc->frame_count = 0; */

  phoenixsrc->hCamera = 0;

  g_mutex_init (&phoenixsrc->mutex);
  g_cond_init (&phoenixsrc->cond);
}
Exemplo n.º 4
0
static void
gst_genicamsrc_init (GstGenicamSrc * src)
{
  /* set source as live (no preroll) */
  gst_base_src_set_live (GST_BASE_SRC (src), TRUE);

  /* override default of BYTES to operate in time mode */
  gst_base_src_set_format (GST_BASE_SRC (src), GST_FORMAT_TIME);

  /* initialize member variables */
  src->interface_index = DEFAULT_PROP_INTERFACE_INDEX;
  src->interface_id = g_strdup (DEFAULT_PROP_INTERFACE_ID);
  src->num_capture_buffers = DEFAULT_PROP_NUM_CAPTURE_BUFFERS;
  src->timeout = DEFAULT_PROP_TIMEOUT;

  src->stop_requested = FALSE;
  src->caps = NULL;

  src->hTL = NULL;
  src->hIF = NULL;
  src->hDEV = NULL;
  src->hDS = NULL;

  gst_genicamsrc_reset (src);
}
static void
gst_dshowvideosrc_init (GstDshowVideoSrc * src)
{
    src->device = NULL;
    src->device_name = NULL;
    src->video_cap_filter = NULL;
    src->dshow_fakesink = NULL;
    src->media_control = NULL;
    src->filter_graph = NULL;
    src->caps = NULL;
    src->pins_mediatypes = NULL;
    src->is_rgb = FALSE;

    /*added for analog input*/
    src->graph_builder = NULL;
    src->capture_builder = NULL;
    src->pVC = NULL;
    src->pVSC = NULL;

    g_cond_init(&src->buffer_cond);
    g_mutex_init(&src->buffer_mutex);
    src->buffer = NULL;
    src->stop_requested = FALSE;

    CoInitializeEx (NULL, COINIT_MULTITHREADED);

    gst_base_src_set_live (GST_BASE_SRC (src), TRUE);
    gst_base_src_set_format (GST_BASE_SRC (src), GST_FORMAT_TIME);
}
Exemplo n.º 6
0
static void
gst_audio_test_src_init (GstAudioTestSrc * src, GstAudioTestSrcClass * g_class)
{
  GstPad *pad = GST_BASE_SRC_PAD (src);

  gst_pad_set_fixatecaps_function (pad, gst_audio_test_src_src_fixate);

  src->samplerate = 44100;
  src->format = GST_AUDIO_TEST_SRC_FORMAT_NONE;

  src->volume = DEFAULT_VOLUME;
  src->freq = DEFAULT_FREQ;

  /* we operate in time */
  gst_base_src_set_format (GST_BASE_SRC (src), GST_FORMAT_TIME);
  gst_base_src_set_live (GST_BASE_SRC (src), DEFAULT_IS_LIVE);

  src->samples_per_buffer = DEFAULT_SAMPLES_PER_BUFFER;
  src->generate_samples_per_buffer = src->samples_per_buffer;
  src->timestamp_offset = DEFAULT_TIMESTAMP_OFFSET;
  src->can_activate_pull = DEFAULT_CAN_ACTIVATE_PULL;

  src->gen = NULL;

  src->wave = DEFAULT_WAVE;
  gst_base_src_set_blocksize (GST_BASE_SRC (src), -1);
}
Exemplo n.º 7
0
static void
gst_udpsrc_init (GstUDPSrc * udpsrc, GstUDPSrcClass * klass)
{
  udpsrc->uri =
      g_strdup_printf ("udp://%s:%u", UDP_DEFAULT_MULTICAST_GROUP,
      UDP_DEFAULT_PORT);

  udpsrc->host = g_strdup (UDP_DEFAULT_MULTICAST_GROUP);
  udpsrc->port = UDP_DEFAULT_PORT;
  udpsrc->socket = UDP_DEFAULT_SOCKET;
  udpsrc->multi_iface = g_strdup (UDP_DEFAULT_MULTICAST_IFACE);
  udpsrc->buffer_size = UDP_DEFAULT_BUFFER_SIZE;
  udpsrc->timeout = UDP_DEFAULT_TIMEOUT;
  udpsrc->skip_first_bytes = UDP_DEFAULT_SKIP_FIRST_BYTES;
  udpsrc->close_socket = UDP_DEFAULT_CLOSE_SOCKET;
  udpsrc->external_socket = (udpsrc->socket != NULL);
  udpsrc->auto_multicast = UDP_DEFAULT_AUTO_MULTICAST;
  udpsrc->used_socket = UDP_DEFAULT_USED_SOCKET;
  udpsrc->reuse = UDP_DEFAULT_REUSE;

  udpsrc->cancellable = g_cancellable_new ();

  /* configure basesrc to be a live source */
  gst_base_src_set_live (GST_BASE_SRC (udpsrc), TRUE);
  /* make basesrc output a segment in time */
  gst_base_src_set_format (GST_BASE_SRC (udpsrc), GST_FORMAT_TIME);
  /* make basesrc set timestamps on outgoing buffers based on the running_time
   * when they were captured */
  gst_base_src_set_do_timestamp (GST_BASE_SRC (udpsrc), TRUE);
}
Exemplo n.º 8
0
static void
gst_dv1394src_init (GstDV1394Src * dv1394src, GstDV1394SrcClass * klass)
{
  GstPad *srcpad = GST_BASE_SRC_PAD (dv1394src);

  gst_base_src_set_live (GST_BASE_SRC (dv1394src), TRUE);
  gst_base_src_set_format (GST_BASE_SRC (dv1394src), GST_FORMAT_TIME);
  gst_base_src_set_do_timestamp (GST_BASE_SRC (dv1394src), TRUE);
  gst_pad_use_fixed_caps (srcpad);

  dv1394src->port = DEFAULT_PORT;
  dv1394src->channel = DEFAULT_CHANNEL;

  dv1394src->consecutive = DEFAULT_CONSECUTIVE;
  dv1394src->skip = DEFAULT_SKIP;
  dv1394src->drop_incomplete = DEFAULT_DROP_INCOMPLETE;
  dv1394src->use_avc = DEFAULT_USE_AVC;
  dv1394src->guid = DEFAULT_GUID;
  dv1394src->uri = g_strdup_printf ("dv://%d", dv1394src->port);
  dv1394src->device_name = g_strdup_printf ("Default");

  READ_SOCKET (dv1394src) = -1;
  WRITE_SOCKET (dv1394src) = -1;

  /* initialized when first header received */
  dv1394src->frame_size = 0;

  dv1394src->buf = NULL;
  dv1394src->frame = NULL;
  dv1394src->frame_sequence = 0;

  dv1394src->provided_clock = gst_1394_clock_new ("dv1394clock");
}
Exemplo n.º 9
0
static void
gst_aravis_init (GstAravis *gst_aravis, GstAravisClass *g_class)
{
	GstPad *pad = GST_BASE_SRC_PAD (gst_aravis);

	gst_pad_set_fixatecaps_function (pad, gst_aravis_fixate_caps);

	gst_base_src_set_live (GST_BASE_SRC (gst_aravis), TRUE);
	gst_base_src_set_format (GST_BASE_SRC (gst_aravis), GST_FORMAT_TIME);

	gst_aravis->camera_name = NULL;

	gst_aravis->gain = -1;
	gst_aravis->gain_auto = FALSE;
	gst_aravis->exposure_time_us = -1;
	gst_aravis->exposure_auto = FALSE;
	gst_aravis->offset_x = 0;
	gst_aravis->offset_y = 0;
	gst_aravis->h_binning = -1;
	gst_aravis->v_binning = -1;
	gst_aravis->packet_resend = TRUE;
	gst_aravis->payload = 0;

	gst_aravis->buffer_timeout_us = GST_ARAVIS_BUFFER_TIMEOUT_DEFAULT;

	gst_aravis->camera = NULL;
	gst_aravis->stream = NULL;

	gst_aravis->all_caps = NULL;
	gst_aravis->fixed_caps = NULL;
}
Exemplo n.º 10
0
static void
gst_euresys_init (GstEuresys * euresys)
{
  /* set source as live (no preroll) */
  gst_base_src_set_live (GST_BASE_SRC (euresys), TRUE);

  /* override default of BYTES to operate in time mode */
  gst_base_src_set_format (GST_BASE_SRC (euresys), GST_FORMAT_TIME);

  /* initialize member variables */
  euresys->boardIdx = DEFAULT_PROP_BOARD_INDEX;
  euresys->cameraType = DEFAULT_PROP_CAMERA_TYPE;
  euresys->connector = DEFAULT_PROP_CONNECTOR;
  euresys->colorFormat = DEFAULT_PROP_COLOR_FORMAT;
  euresys->pixelTiming = DEFAULT_PROP_PIXEL_TIMING;
  euresys->num_capture_buffers = DEFAULT_PROP_NUM_CAPTURE_BUFFERS;

  euresys->hChannel = 0;

  euresys->acq_started = FALSE;

  euresys->last_time_code = -1;
  euresys->dropped_frame_count = 0;

  GST_INFO_OBJECT (euresys, "About to open driver");
  if (McOpenDriver (NULL) != MC_OK) {
    GST_ELEMENT_ERROR (euresys, LIBRARY, INIT, (NULL), (NULL));
    return;
  }
}
Exemplo n.º 11
0
static void
gst_osx_video_src_init (GstOSXVideoSrc * self, GstOSXVideoSrcClass * klass)
{
  GST_DEBUG_OBJECT (self, "%s", G_STRFUNC);

  gst_base_src_set_format (GST_BASE_SRC (self), GST_FORMAT_TIME);
  gst_base_src_set_live (GST_BASE_SRC (self), TRUE);
}
Exemplo n.º 12
0
static void
gst_inter_video_src_init (GstInterVideoSrc * intervideosrc)
{
  gst_base_src_set_format (GST_BASE_SRC (intervideosrc), GST_FORMAT_TIME);
  gst_base_src_set_live (GST_BASE_SRC (intervideosrc), TRUE);

  intervideosrc->channel = g_strdup ("default");
}
Exemplo n.º 13
0
static void
gst_rtmp_src_init (GstRTMPSrc * rtmpsrc, GstRTMPSrcClass * klass)
{
  rtmpsrc->cur_offset = 0;
  rtmpsrc->last_timestamp = 0;

  gst_base_src_set_format (GST_BASE_SRC (rtmpsrc), GST_FORMAT_TIME);
}
Exemplo n.º 14
0
static void
gst_inter_sub_src_init (GstInterSubSrc * intersubsrc)
{
  gst_base_src_set_format (GST_BASE_SRC (intersubsrc), GST_FORMAT_TIME);
  gst_base_src_set_live (GST_BASE_SRC (intersubsrc), TRUE);

  intersubsrc->channel = g_strdup (DEFAULT_CHANNEL);
}
static void
shell_recorder_src_init (ShellRecorderSrc      *src)
{
    gst_base_src_set_format (GST_BASE_SRC (src), GST_FORMAT_TIME);

    src->queue = g_async_queue_new ();
    src->mutex = &src->mutex_data;
    g_mutex_init (src->mutex);
}
Exemplo n.º 16
0
static void
gst_avdtp_src_init (GstAvdtpSrc * avdtpsrc)
{
  avdtpsrc->poll = gst_poll_new (TRUE);

  gst_base_src_set_format (GST_BASE_SRC (avdtpsrc), GST_FORMAT_TIME);
  gst_base_src_set_live (GST_BASE_SRC (avdtpsrc), TRUE);
  gst_base_src_set_do_timestamp (GST_BASE_SRC (avdtpsrc), TRUE);
}
Exemplo n.º 17
0
static void
gst_flite_test_src_init (GstFliteTestSrc * src)
{
  src->samples_per_buffer = DEFAULT_SAMPLES_PER_BUFFER;

  /* we operate in time */
  gst_base_src_set_format (GST_BASE_SRC (src), GST_FORMAT_TIME);

  gst_base_src_set_blocksize (GST_BASE_SRC (src), -1);
}
Exemplo n.º 18
0
static void
gst_cel_video_src_init (GstCelVideoSrc * self, GstCelVideoSrcClass * gclass)
{
  GstBaseSrc *base_src = GST_BASE_SRC_CAST (self);

  gst_base_src_set_live (base_src, TRUE);
  gst_base_src_set_format (base_src, GST_FORMAT_TIME);

  self->ready_cond = g_cond_new ();
}
Exemplo n.º 19
0
static void
gst_v4l2src_init (GstV4l2Src * v4l2src)
{
  /* fixme: give an update_fps_function */
  v4l2src->v4l2object = gst_v4l2_object_new (GST_ELEMENT (v4l2src),
      V4L2_BUF_TYPE_VIDEO_CAPTURE, DEFAULT_PROP_DEVICE,
      gst_v4l2_get_input, gst_v4l2_set_input, NULL);

  gst_base_src_set_format (GST_BASE_SRC (v4l2src), GST_FORMAT_TIME);
  gst_base_src_set_live (GST_BASE_SRC (v4l2src), TRUE);
}
Exemplo n.º 20
0
static void
gst_lv2_source_init (GstLV2Source * self, GstLV2SourceClass * klass)
{
  gst_lv2_init (&self->lv2, &klass->lv2);

  gst_base_src_set_format (GST_BASE_SRC (self), GST_FORMAT_TIME);
  gst_base_src_set_blocksize (GST_BASE_SRC (self), -1);

  self->samples_per_buffer = 1024;
  self->generate_samples_per_buffer = self->samples_per_buffer;
}
Exemplo n.º 21
0
static void
gst_gl_test_src_init (GstGLTestSrc * src)
{
  gst_gl_test_src_set_pattern (src, GST_GL_TEST_SRC_SMPTE);

  src->timestamp_offset = 0;

  /* we operate in time */
  gst_base_src_set_format (GST_BASE_SRC (src), GST_FORMAT_TIME);
  gst_base_src_set_live (GST_BASE_SRC (src), FALSE);
}
/* Init */
static void gst_android_video_source_init(GstAndroidVideoSource * p_src)
{
    GA_LOGTRACE("ENTER %s --xx--> thread(%ld)", __FUNCTION__, pthread_self());
    p_src->log_interval = DEFAULT_USEC_BETWEEN_LOGS;
    p_src->log_level_android = DEFAULT_LOG_LEVEL_ANDROID;

    gst_base_src_set_format(GST_BASE_SRC(p_src), GST_FORMAT_TIME);
    gst_base_src_set_live(GST_BASE_SRC(p_src), TRUE);

    GA_LOGTRACE("EXIT %s", __FUNCTION__);
}
Exemplo n.º 23
0
static void
gst_inter_audio_src_init (GstInterAudioSrc * interaudiosrc)
{
  gst_base_src_set_format (GST_BASE_SRC (interaudiosrc), GST_FORMAT_TIME);
  gst_base_src_set_live (GST_BASE_SRC (interaudiosrc), TRUE);
  gst_base_src_set_blocksize (GST_BASE_SRC (interaudiosrc), -1);

  interaudiosrc->channel = g_strdup (DEFAULT_CHANNEL);
  interaudiosrc->buffer_time = DEFAULT_AUDIO_BUFFER_TIME;
  interaudiosrc->latency_time = DEFAULT_AUDIO_LATENCY_TIME;
  interaudiosrc->period_time = DEFAULT_AUDIO_PERIOD_TIME;
}
Exemplo n.º 24
0
static void gst_imx_v4l2src_init(GstImxV4l2Src *v4l2src)
{
	v4l2src->capture_mode = DEFAULT_CAPTURE_MODE;
	v4l2src->fps_n = DEFAULT_FRAMERATE_NUM;
	v4l2src->fps_d = DEFAULT_FRAMERATE_DEN;
	v4l2src->input = DEFAULT_INPUT;
	v4l2src->devicename = g_strdup(DEFAULT_DEVICE);
	v4l2src->queue_size = DEFAULT_QUEUE_SIZE;

	gst_base_src_set_format(GST_BASE_SRC(v4l2src), GST_FORMAT_TIME);
	gst_base_src_set_live(GST_BASE_SRC(v4l2src), TRUE);
}
Exemplo n.º 25
0
static void
gst_inter_sub_src_init (GstInterSubSrc * intersubsrc)
{

    intersubsrc->srcpad =
        gst_pad_new_from_static_template (&gst_inter_sub_src_src_template, "src");

    gst_base_src_set_format (GST_BASE_SRC (intersubsrc), GST_FORMAT_TIME);
    gst_base_src_set_live (GST_BASE_SRC (intersubsrc), TRUE);

    intersubsrc->channel = g_strdup ("default");
}
Exemplo n.º 26
0
static void
shell_recorder_src_init (ShellRecorderSrc      *src)
{
  gst_base_src_set_format (GST_BASE_SRC (src), GST_FORMAT_TIME);
  gst_base_src_set_live (GST_BASE_SRC (src), TRUE);

  src->clock = gst_system_clock_obtain ();
  src->last_frame_time = 0;

  src->queue = g_async_queue_new ();
  src->mutex = &src->mutex_data;
  g_mutex_init (src->mutex);
}
Exemplo n.º 27
0
static void
gst_video_test_src_init (GstVideoTestSrc * src)
{
  gst_video_test_src_set_pattern (src, DEFAULT_PATTERN);

  src->timestamp_offset = DEFAULT_TIMESTAMP_OFFSET;
  src->foreground_color = DEFAULT_FOREGROUND_COLOR;
  src->background_color = DEFAULT_BACKGROUND_COLOR;
  src->horizontal_speed = DEFAULT_HORIZONTAL_SPEED;

  /* we operate in time */
  gst_base_src_set_format (GST_BASE_SRC (src), GST_FORMAT_TIME);
  gst_base_src_set_live (GST_BASE_SRC (src), DEFAULT_IS_LIVE);
}
Exemplo n.º 28
0
static gboolean
gst_fake_src_start (GstBaseSrc * basesrc)
{
  GstFakeSrc *src;

  src = GST_FAKE_SRC (basesrc);

  src->pattern_byte = 0x00;
  src->bytes_sent = 0;

  gst_base_src_set_format (basesrc, src->format);

  return TRUE;
}
Exemplo n.º 29
0
static void
gstbt_audio_synth_init (GstBtAudioSynth * self)
{
  gst_audio_info_init (&self->info);
  self->info.rate = GST_AUDIO_DEF_RATE;
  self->beats_per_minute = 120;
  self->ticks_per_beat = 4;
  self->subticks_per_beat = 1;
  gstbt_audio_synth_calculate_buffer_frames (self);

  /* we operate in time */
  gst_base_src_set_format (GST_BASE_SRC (self), GST_FORMAT_TIME);
  gst_base_src_set_live (GST_BASE_SRC (self), FALSE);
}
Exemplo n.º 30
0
static void
gst_openni2_src_init (GstOpenni2Src * ni2src)
{
  gst_base_src_set_live (GST_BASE_SRC (ni2src), TRUE);
  gst_base_src_set_format (GST_BASE_SRC (ni2src), GST_FORMAT_TIME);

  ni2src->device = new openni::Device ();
  ni2src->depth = new openni::VideoStream ();
  ni2src->color = new openni::VideoStream ();
  ni2src->depthFrame = new openni::VideoFrameRef ();
  ni2src->colorFrame = new openni::VideoFrameRef ();

  ni2src->oni_start_ts = GST_CLOCK_TIME_NONE;
}