1. 28 7月, 2011 1 次提交
    • H
      [media] v4l2-event/ctrls/fh: allocate events per fh and per type instead of just per-fh · f1e393de
      Hans Verkuil 提交于
      The driver had to decide how many events to allocate when the v4l2_fh struct
      was created. It was possible to add more events afterwards, but there was no
      way to ensure that you wouldn't miss important events if the event queue
      would fill up for that filehandle.
      
      In addition, once there were no more free events, any new events were simply
      dropped on the floor.
      
      For the control event in particular this made life very difficult since
      control status/value changes could just be missed if the number of allocated
      events and the speed at which the application read events was too low to keep
      up with the number of generated events. The application would have no idea
      what the latest state was for a control since it could have missed the latest
      control change.
      
      So this patch makes some major changes in how events are allocated. Instead
      of allocating events per-filehandle they are now allocated when subscribing an
      event. So for that particular event type N events (determined by the driver)
      are allocated. Those events are reserved for that particular event type.
      This ensures that you will not miss events for a particular type altogether.
      
      In addition, if there are N events in use and a new event is raised, then
      the oldest event is dropped and the new one is added. So the latest event
      is always available.
      
      This can be further improved by adding the ability to merge the state of
      two events together, ensuring that no data is lost at all. This will be
      added in the next patch.
      
      This also makes it possible to allow the user to determine the number of
      events that will be allocated. This is not implemented at the moment, but
      would be trivial.
      Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      f1e393de
  2. 08 7月, 2011 2 次提交
  3. 22 3月, 2011 13 次提交
  4. 19 1月, 2011 2 次提交
  5. 21 10月, 2010 2 次提交
  6. 09 8月, 2010 5 次提交
  7. 01 6月, 2010 1 次提交
  8. 19 5月, 2010 3 次提交
  9. 18 5月, 2010 1 次提交
  10. 27 2月, 2010 1 次提交
    • A
      V4L/DVB: cx25840, v4l2-subdev, ivtv, pvrusb2: Fix ivtv/cx25840 tinny audio · 3ccc646b
      Andy Walls 提交于
      This change attempts to fix the ivtv tinny audio problem by keeping digitizer
      to encoder audio clocks running, while disabling the video clocks as needed to
      avoid unpredictable PCI bus hangs.
      
      To accomplish this, for the cx25840 module enabling of audio streaming had
      to be separated from enabling video streaming, requiring an additional
      v4l2_subdev_audio_op and calls to this new op in the pvrusb2 and ivtv drivers.
      
      The cx231xx and cx23885 driver use the cx25840 module for affecting only
      video on s_stream calls, so those drivers needed no change.
      
      The CX23418 hardware does not exhibit either the tinny audio problem nor the PCI
      bus hang, so the cx18 driver did not need corresponding changes.
      
      CX2341[56] based cards that are not using the CX2584x family of chips
      do not seem to be affected by the tinny audio problem, and this change should
      not affect how they are configured. It will delay their first capture by
      starting by another 300 msec though.
      
      Many thanks go to Argus <pthorn-ivtvd@styx2002.no-ip.org> and
      Martin Dauskardt <martin.dauskardt@gmx.de> whose persistent testing and
      investigation of this problem will hopefully fix this problem once and for all
      for many ivtv users.
      Reported-by: NMartin Dauskardt <martin.dauskardt@gmx.de>
      Reported-by: NArgus <pthorn-ivtvd@styx2002.no-ip.org>
      Signed-off-by: NAndy Walls <awalls@radix.net>
      Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      3ccc646b
  11. 16 12月, 2009 3 次提交
  12. 06 12月, 2009 3 次提交
  13. 12 9月, 2009 2 次提交
  14. 23 6月, 2009 1 次提交