1. 20 May, 2013 1 commit
  2. 19 Feb, 2013 1 commit
  3. 17 Dec, 2012 1 commit
  4. 04 Nov, 2012 1 commit
  5. 13 Sep, 2012 1 commit
  6. 21 Dec, 2011 1 commit
  7. 04 Nov, 2011 1 commit
  8. 04 Aug, 2011 1 commit
    • Wim Taymans's avatar
      v4l2: activate the pool in fallback · add1cbdb
      Wim Taymans authored
      When nobody is using our pool, activate it ourselves.
      Avoid leaking the buffer array.
      Set default pool configuration with caps.
      Don't keep current_caps, core does that for us now.
      add1cbdb
  9. 27 Jul, 2011 1 commit
    • Wim Taymans's avatar
      v4l2: remove unused variables · 63fc64dd
      Wim Taymans authored
      Use the more specialized type for the bufferpool.
      Use the size from the driver as the size of the image to read.
      Don't configure the pool when created. This will be done in the setup_allocation
      method later or by upstream for sinks.
      Remove unused properties and variables. Bufferpool sizes are now configured in
      the bufferpool by the elements in the pipeline. We might want to influence the
      pool size later somehow.
      63fc64dd
  10. 26 Jul, 2011 1 commit
    • Wim Taymans's avatar
      v4l2: rename a variable · 8c424142
      Wim Taymans authored
      Rename the size variable to sizeimage and fill it with the size that has been
      given to use by the v4l2 driver instead of making something up..
      8c424142
  11. 19 Jul, 2011 1 commit
    • Wim Taymans's avatar
      v4l2: Fix sink bufferpool handling · 87d9a57a
      Wim Taymans authored
      Remove old method, use neww _process method for the sink.
      Inform the parent bufferpool class about the settings too. This is needed to let
      it know about the max-buffers.
      Allocate the negotiated max-buffers and initially mmap min-buffers. The idea is
      that the bufferpool will allocate more when needed.
      Improve debugging.
      Only poll in capture mode, it does not seem to work in playback mode on this
      beagleboard.
      87d9a57a
  12. 18 Jul, 2011 2 commits
    • Wim Taymans's avatar
      v4l2: More work on bufferpools · 55eb26f1
      Wim Taymans authored
      Add different transport methods to the bufferpool (MMAP and READ/WRITE)
      Do more parsing of the bufferpool config.
      Start and stop streaming based on the bufferpool state.
      Make separate methods for getting a buffer from the pool and filling it with
      data. This allows us to fill buffers from other pools too. Either use copy or
      read to fill up the target buffers.
      Add property to force a transfer mode in v4l2src.
      Increase default number of buffers to 4.
      Negotiate bufferpool and its properties in v4l2src.
      55eb26f1
    • Wim Taymans's avatar
      v4l2: add IO method enum · 39716c02
      Wim Taymans authored
      39716c02
  13. 15 Jul, 2011 1 commit
    • Wim Taymans's avatar
      v4l2: convert to GstBufferPool · 21f532ae
      Wim Taymans authored
      Extend from GstBufferPool.
      Handle the lifetime of the pool buffers correctly with the start/stop vmethods.
      Map acquire and release directly to QBUF and DQBUF. We still expose an explicit
      qbuf for the v4l2sink for now.
      21f532ae
  14. 14 Jul, 2011 1 commit
  15. 13 Jul, 2011 5 commits
    • Wim Taymans's avatar
      v4l2: move capture code to device object · 7c5f5b1b
      Wim Taymans authored
      Move the details of how to capture to the device object. Remove the
      v4l2src_calls.[ch] files because they are empty now.
      Provide two simple methods to get and return a buffer to the device.
      Also do a slow copy when the buffer is not from our pool.
      7c5f5b1b
    • Wim Taymans's avatar
      v4l2: Let the device object manage the pool · d9e61954
      Wim Taymans authored
      Rename start and stop methods to open and close because that is what they do.
      After setting the format on the device object, setup the bufferpools. Move this
      code from the v4l2src_calls.c file, it is shared between source and sink.
      Make new device start and stop method that merges various bits of common code
      spread over several files.
      d9e61954
    • Wim Taymans's avatar
      v4l2: don't store stride in the videoinfo · 398001f2
      Wim Taymans authored
      We want to keep the default strides in the videoinfo. Keep the stride of the
      video frames separate so that we can use both to copy a video frame and do
      correct stride conversion.
      398001f2
    • Wim Taymans's avatar
      v4l2: improve caps parsing · 01def08e
      Wim Taymans authored
      Use GstVideoInfo to store the parsed caps.
      Remove outsize from the caps parsing code, it's wrong because it does not use
      the stride given by the driver.
      01def08e
    • Wim Taymans's avatar
      v4l2: Move configuration of framerate to _set_format · 9f4cf3be
      Wim Taymans authored
      Move the configuration of the framerate to where we set the other format
      parameters.
      Remove hack to check if the device is active.
      Store streamparm in the device info.
      Use some macros to access the current device configuration.
      Remove some duplicate fields in src and sink and use the device configuration
      instead.
      9f4cf3be
  16. 12 Jul, 2011 3 commits
    • Wim Taymans's avatar
      v4l2: simplify setting the capture format · e8ae00f5
      Wim Taymans authored
      Pass the caps to the set_format function and make _set_format parse the caps.
      Also keep the parsed values in the v4l2object so that we can refer to them when
      we want.
      e8ae00f5
    • Wim Taymans's avatar
      v4l2: Let the bufferpool own the V4l2Object · 0dcf0aeb
      Wim Taymans authored
      Keep track of the currently configured format and setting in the
      v4l2object.
      Pass the v4l2object to the bufferpool constructor so that the bufferpool can
      know everything about the currently configured settings. This also allows us
      to remove some awkward code.
      0dcf0aeb
    • Wim Taymans's avatar
      v4l: pass the bytesperline around · 59b86d25
      Wim Taymans authored
      When setting a format, return the bytesperline to the caller so that it can be
      used to allocate buffers.
      59b86d25
  17. 24 May, 2011 1 commit
    • Rob Clark's avatar
      v4l2: add norm property · 9c958511
      Rob Clark authored
      Based on a patch by Guennadi Liakhovetski.
      
      v2: updates because I forgot to add GstTuner interface to v4l2sink
      v3: update to add all possible values to norm enum
      9c958511
  18. 02 Jan, 2011 1 commit
  19. 29 Dec, 2010 2 commits
  20. 10 Sep, 2010 1 commit
  21. 21 Mar, 2010 1 commit
  22. 09 Oct, 2009 1 commit
    • Pau Garcia i Quiles's avatar
      v4l2: Include sys/ioctl.h for the V4L ioctl requests · f1043558
      Pau Garcia i Quiles authored
      Old videodevice2.h kernel headers used ioctl stuff without
      including ioctl.h, making compilation fail on older systems.
      
      Note: Including ioctl.h here is only a workaround for old kernel
      headers, should be removed once everybody has new enough headers.
      
      Fixes bug #597867.
      f1043558
  23. 04 Aug, 2009 1 commit
    • Rob Clark's avatar
      v4l2: Add v4l2sink element · f19cfbda
      Rob Clark authored
      This also does the following changes:
      (1) pull the bufferpool code out into gstv4l2bufferpool.c, and make a
          bit more generic so it can be used both for v4l2src and v4l2sink
      (2) move some of the device probing/configuration/caps stuff into
          gstv4l2object.c so it does not have to be duplicated between
          v4l2src and v4l2sink
      
      Fixes bug #590280.
      f19cfbda
  24. 19 Jul, 2009 1 commit
  25. 01 Mar, 2009 1 commit
    • Sjoerd Simons's avatar
      Wait for a frame to become available before capturing it · b6755a70
      Sjoerd Simons authored
      Use GstPoll to wait for the fd of the video device to become readable before
      trying to capture a frame. This speeds up stopping v4l2src a lot as it no
      longer has to wait for the next frame, especially when capturing with low
      framerates or when the video device just never generates a frame (which seems a
      common issue for uvcvideo devices)
      
      Fixes bug #563574.
      b6755a70
  26. 03 Oct, 2008 1 commit
    • Wim Taymans's avatar
      sys/v4l2/gstv4l2object.h: Getting the Class from an instance is not just a... · 300da165
      Wim Taymans authored
      sys/v4l2/gstv4l2object.h: Getting the Class from an instance is not just a matter of casting it to the class struct b...
      
      Original commit message from CVS:
      * sys/v4l2/gstv4l2object.h:
      Getting the Class from an instance is not just a matter of casting it to
      the class struct but it involves calling G_OBJECT_GET_CLASS on the
      instance. Fixes #549784.
      300da165
  27. 26 Mar, 2008 1 commit
  28. 21 Jan, 2008 1 commit
    • Brian Cameron's avatar
      configure.ac: Detect video4linux headers on Solaris too. · a973a4f1
      Brian Cameron authored
      Original commit message from CVS:
      * configure.ac:
      Detect video4linux headers on Solaris too.
      * sys/v4l2/gstv4l2colorbalance.h:
      * sys/v4l2/gstv4l2object.h:
      * sys/v4l2/v4l2_calls.c:
      * sys/v4l2/v4l2src_calls.c: (gst_v4l2_buffer_finalize),
      (gst_v4l2_buffer_new):
      Make v4l2 build on Solaris.
      Patch by: Brian Cameron  <brian.cameron at sun dot com>
      Fixes: #510505
      a973a4f1
  29. 30 May, 2007 2 commits
    • Andy Wingo Wingo's avatar
      sys/v4l2/gstv4l2object.*: Revert some unintended changes. · 70615818
      Andy Wingo Wingo authored
      Original commit message from CVS:
      2007-05-30  Andy Wingo  <wingo@pobox.com>
      
      * sys/v4l2/gstv4l2object.h:
      * sys/v4l2/gstv4l2object.c (gst_v4l2_object_new): Revert some
      unintended changes.
      70615818
    • Andy Wingo Wingo's avatar
      sys/v4l2/v4l2src_calls.*: Store the format list in the order that the driver gives it to us. · 3b5f9882
      Andy Wingo Wingo authored
      Original commit message from CVS:
      2007-05-30  Andy Wingo  <wingo@pobox.com>
      
      * sys/v4l2/v4l2src_calls.h:
      * sys/v4l2/v4l2src_calls.c (gst_v4l2src_fill_format_list): Store
      the format list in the order that the driver gives it to us.
      (gst_v4l2src_probe_caps_for_format_and_size)
      (gst_v4l2src_probe_caps_for_format): New functions, fill GstCaps
      based on the capabilities of the device.
      (gst_v4l2src_grab_frame): Update for object variable renaming.
      (gst_v4l2src_set_capture): Update to be strict in its parameters,
      as in the set_caps below.
      (gst_v4l2src_capture_init): Update for object variable renaming,
      and reflow.
      (gst_v4l2src_capture_start, gst_v4l2src_capture_stop)
      (gst_v4l2src_capture_deinit): Update for object variable renaming.
      (gst_v4l2src_update_fps, gst_v4l2src_set_fps)
      (gst_v4l2src_get_fps): Remove; these functions don't have much
      meaning outside of an atomic set_caps method.
      (gst_v4l2src_buffer_new): Don't set buffer duration, it is not
      known.
      
      * sys/v4l2/gstv4l2tuner.c (gst_v4l2_tuner_set_channel): Remove
      call to update_fps; not sure about this change.
      (gst_v4l2_tuner_set_norm): Work around the fact that for the
      moment we don't have an update_fps_func.
      
      * sys/v4l2/gstv4l2src.h (struct _GstV4l2Src): Don't put v4l2
      structures in the object, just store what we need. Do store the
      probed caps of the device. Don't store the current frame rate.
      
      * sys/v4l2/gstv4l2src.c (gst_v4l2src_init): Remove the
      update_fps_function, for now. Update for new object variable
      naming.
      (gst_v4l2src_set_property, gst_v4l2src_get_property): Update for
      new object variable naming.
      (gst_v4l2src_v4l2fourcc_to_structure): Rename from ..._to_caps.
      (gst_v4l2_structure_to_v4l2fourcc): Rename from ...caps_to_....
      (gst_v4l2src_get_caps): Rework to probe the device for supported
      frame sizes and frame rates.
      (gst_v4l2src_set_caps): Rework to be strict in the given
      parameters: if someone asks us to have a certain size and rate,
      that is what we configure.
      (gst_v4l2src_get_read): Update for object variable naming. Don't
      leak buffers on short reads.
      (gst_v4l2src_get_mmap): Update for object variable naming, and add
      comments.
      (gst_v4l2src_create): Update for object variable naming.
      3b5f9882
  30. 04 Mar, 2007 1 commit
    • Jan Schmidt's avatar
      Fix a bunch of leaks shown by the newly-added states test. · de1357a4
      Jan Schmidt authored
      Original commit message from CVS:
      * ext/flac/gstflacenc.c: (gst_flac_enc_finalize):
      * ext/gconf/gstgconfaudiosink.c: (gst_gconf_audio_sink_class_init),
      (gst_gconf_audio_sink_dispose), (gst_gconf_audio_sink_finalize):
      * ext/gconf/gstgconfaudiosrc.c: (gst_gconf_audio_src_base_init),
      (gst_gconf_audio_src_class_init), (gst_gconf_audio_src_dispose),
      (gst_gconf_audio_src_finalize), (do_toggle_element):
      * ext/gconf/gstgconfvideosink.c: (gst_gconf_video_sink_base_init),
      (gst_gconf_video_sink_class_init), (gst_gconf_video_sink_finalize),
      (do_toggle_element):
      * ext/gconf/gstgconfvideosrc.c: (gst_gconf_video_src_base_init),
      (gst_gconf_video_src_class_init), (gst_gconf_video_src_dispose),
      (gst_gconf_video_src_finalize), (do_toggle_element):
      * ext/gconf/gstswitchsink.c: (gst_switch_sink_class_init),
      (gst_switch_sink_reset), (gst_switch_sink_set_child):
      * ext/hal/gsthalaudiosink.c: (gst_hal_audio_sink_base_init):
      * ext/hal/gsthalaudiosrc.c: (gst_hal_audio_src_base_init):
      * ext/shout2/gstshout2.c: (gst_shout2send_class_init),
      (gst_shout2send_init), (gst_shout2send_finalize):
      * gst/debug/testplugin.c: (gst_test_class_init),
      (gst_test_finalize):
      * gst/flx/gstflxdec.c: (gst_flxdec_class_init),
      (gst_flxdec_dispose):
      * gst/multipart/multipartmux.c: (gst_multipart_mux_finalize):
      * gst/rtp/gstrtpmp4gpay.c: (gst_rtp_mp4g_pay_finalize):
      * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_init),
      (gst_rtspsrc_finalize):
      * gst/rtsp/rtspextwms.c: (rtsp_ext_wms_free_context):
      * gst/rtsp/rtspextwms.h:
      * gst/smpte/gstsmpte.c: (gst_smpte_class_init),
      (gst_smpte_finalize):
      * gst/udp/gstmultiudpsink.c: (gst_multiudpsink_finalize):
      * gst/udp/gstudpsink.c: (gst_udpsink_class_init),
      (gst_udpsink_finalize):
      * gst/wavparse/gstwavparse.c: (gst_wavparse_dispose),
      (gst_wavparse_sink_activate):
      * sys/oss/gstosssink.c: (gst_oss_sink_finalise):
      * sys/oss/gstosssrc.c: (gst_oss_src_class_init),
      (gst_oss_src_finalize):
      * sys/v4l2/gstv4l2object.c: (gst_v4l2_object_destroy):
      * sys/v4l2/gstv4l2object.h:
      * sys/v4l2/gstv4l2src.c: (gst_v4l2src_class_init),
      (gst_v4l2src_finalize):
      * sys/ximage/gstximagesrc.c: (gst_ximage_src_ximage_get):
      Fix a bunch of leaks shown by the newly-added states test.
      de1357a4
  31. 17 Jan, 2007 1 commit
    • Stefan Kost's avatar
      sys/v4l2/: Fix EIO handing when capturing. Add new property to specify the... · fdd167ae
      Stefan Kost authored
      sys/v4l2/: Fix EIO handing when capturing. Add new property to specify the number of buffers to enque (and remove the...
      
      Original commit message from CVS:
      * sys/v4l2/gstv4l2object.c:
      (gst_v4l2_object_install_properties_helper),
      (gst_v4l2_object_set_property_helper),
      (gst_v4l2_object_get_property_helper), (gst_v4l2_set_defaults):
      * sys/v4l2/gstv4l2object.h:
      * sys/v4l2/gstv4l2src.c: (gst_v4l2src_class_init),
      (gst_v4l2src_init), (gst_v4l2src_set_property),
      (gst_v4l2src_get_property), (gst_v4l2src_set_caps):
      * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_fill_format_list),
      (gst_v4l2src_grab_frame), (gst_v4l2src_set_capture),
      (gst_v4l2src_capture_init), (gst_v4l2src_capture_start),
      (gst_v4l2src_capture_deinit):
      Fix EIO handing when capturing. Add new property to specify the number of
      buffers to enque (and remove the borked num-buffers usage).
      fdd167ae