Author: duncan
Date: Thu Nov 1 15:11:46 2007
New Revision: 10054
Log:
Updated to allow freevo execute v4l2.py /dev/videoX to work for webcams
Modified:
branches/rel-1/freevo/src/tv/v4l2.py
Modified: branches/rel-1/freevo/src/tv/v4l2.py
==============================================================================
--- branches/rel-1/freevo/src/tv/v4l2.py (original)
+++ branches/rel-1/freevo/src/tv/v4l2.py Thu Nov 1 15:11:46 2007
@@ -788,7 +788,10 @@
sizeimage, colorspace) = self.getfmt()
print "Width: %i, Height: %i" % (width, height)
- print "Read Frequency: %i" % self.getfreq()
+ try:
+ print "Read Frequency: %i" % self.getfreq()
+ except IOError, e:
+ pass
class V4LGroup:
@@ -869,105 +872,24 @@
print '\'%s\' : 0x%08X, ' % ('ALL', NORMS['ALL'])
inputs = viddev.enuminputs()
- print inputs
+ print 'inputs = %r' % (inputs.keys())
standards = viddev.enumstds()
- print standards
- viddev.setinputbyname('Composite1')
- print viddev.getinput()
- viddev.setstdbyname('PAL')
- print '0x%08X' % viddev.getstd()
- viddev.setinputbyname('Television')
- print viddev.getinput()
-
- #dict = viddev.enumcontrols()
- #keys = list(dict)
- #keys.sort()
- #print keys
- #for ctrl in keys:
- # print '%-28s : %r' % (ctrl, dict[ctrl], )
-
- ##print viddev.querycap()
- #inp = viddev.getinput()
- #viddev.setinput(inp)
- #print 'querycap:', viddev.querycap()
- #fmt = viddev.getstd()
- #print 'fmt:', fmt
- #std = viddev.getfmt()
- #print 'std:', std
- #viddev.setfmt(720, 576)
- #std = viddev.getfmt()
- #print 'std:', std
- #print 'CONTROLS'
- #viddev.listcontrols()
- #dict = viddev.enumcontrols()
- #viddev.setextctrl(0x009909c9, 2)
- #print '0x009909c9 = %d' % viddev.getextctrl(0x009909c9)
- #viddev.setextctrl(0x009909cf, 7000000)
- #print '0x009909cf = %d' % viddev.getextctrl(0x009909cf)
- #print '0x009909cf = %d' % viddev.getextctrl(0x009909cf)
- #try:
- #bitrate = viddev.getcontrol('Video Bitrate')
- #viddev.updatecontrol('Video Bitrate', bitrate+1)
- #print 'Video Bitrate = %d' % viddev.getcontrol('Video Bitrate')
- #except:
- #pass
- #print '0x009909cf = %d' % viddev.getextctrl(0x009909cf)
- #print 'SIZES'
- #print 'QUERYCAP_ST=%s %s' % (QUERYCAP_ST, struct.calcsize(QUERYCAP_ST))
- #print 'FREQUENCY_ST=%s %s' % (FREQUENCY_ST, struct.calcsize(FREQUENCY_ST))
- #print 'ENUMSTD_ST=%s %s' % (ENUMSTD_ST, struct.calcsize(ENUMSTD_ST))
- #print 'STANDARD_ST=%s %s' % (STANDARD_ST, struct.calcsize(STANDARD_ST))
- #print 'ENUMINPUT_ST=%s %s' % (ENUMINPUT_ST, struct.calcsize(ENUMINPUT_ST))
- #print 'INPUT_ST=%s %s' % (INPUT_ST, struct.calcsize(INPUT_ST))
- #print 'FMT_ST=%s %s' % (FMT_ST, struct.calcsize(FMT_ST))
- #print 'TUNER_ST=%s %s' % (TUNER_ST, struct.calcsize(TUNER_ST))
- #print 'AUDIO_ST=%s %s' % (AUDIO_ST, struct.calcsize(AUDIO_ST))
- #print 'EXT_CTRL_ST=%s %s' % (EXT_CTRL_ST, struct.calcsize(EXT_CTRL_ST))
- #print 'EXT_CTRLS_ST=%s %s' % (EXT_CTRLS_ST, struct.calcsize(EXT_CTRLS_ST))
-
- #"""
- #viddev=Videodev('/dev/video0')
- #print
- #print viddev.querycap()
- #inp = viddev.getinput()
- #print 'viddev.getinput=%s' % (inp)
- #viddev.setinput(inp)
- #print 'viddev.setinput okay'
- #fmt = viddev.getfmt()
- #(buf_type, width, height, pixelformat, field, bytesperline, #sizeimage,
colorspace) = fmt
- #print 'viddev.getfmt=%s' % (buf_type)
- #print viddev.enuminput(inp)
- #for i in range(0, 99):
- #try:
- #print viddev.gettuner(i)
- #except IOError:
- #break
- #print viddev.getaudio(0)
- #print viddev.setfreq(2132)
- #print viddev.getfreq()
- #print viddev.setfreq(8948)
- #print viddev.getfreq()
- #print viddev.getfreq2()
-
- #DEBUG=0
- #viddev.setextctrl(0x009909c9, 2)
- #print '0x009909c9 = %d' % viddev.getextctrl(0x009909c9)
- #viddev.setextctrl(0x009909cf, 7000000)
- #print '0x009909cf = %d' % viddev.getextctrl(0x009909cf)
- #bitrate = viddev.getcontrol('Video Bitrate')
- #viddev.updatecontrol('Video Bitrate', bitrate+1)
- #print 'Video Bitrate = %d' % viddev.getcontrol('Video Bitrate')
- #print '0x009909cf = %d' % viddev.getextctrl(0x009909cf)
-
- #stream_type = 4
- #viddev.updatecontrol('Stream Type', stream_type)
- ##viddev.setcontrol('Stream Type', stream_type)
- ##viddev.setextctrl(0x00990900, stream_type)
- #print 'Stream Type = %d' % viddev.getcontrol('Stream Type')
- #print '0x00990900 = %d' % viddev.getextctrl(0x00990900)
- #DEBUG=4
- #print 'getfreq:', viddev.getfreq()
- #"""
+ print 'standards = %r' % (standards.keys())
+ try:
+ viddev.setinputbyname('Composite1')
+ print viddev.getinput()
+ except KeyError:
+ pass
+ try:
+ viddev.setstdbyname('PAL')
+ print '0x%08X' % viddev.getstd()
+ except (KeyError, IOError):
+ pass
+ try:
+ viddev.setinputbyname('Television')
+ print viddev.getinput()
+ except KeyError:
+ pass
viddev.close()
@@ -981,5 +903,5 @@
#export RUNAPP=""
#python v4l2.py
#OR
-#freevo execute v4l2.py
+#freevo execute v4l2.py [<video device>]
#"""
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog