preview_on.c
上传用户:aoeyumen
上传日期:2007-01-06
资源大小:3329k
文件大小:1k
源码类别:

DVD

开发平台:

Unix_Linux

  1. /* very simple app to set the tv frequency */
  2. #include <sys/time.h>
  3. #include <fcntl.h>
  4. #include <sys/ioctl.h>
  5. #include <unistd.h>
  6. #include <stdio.h>
  7. #include <stdlib.h>
  8. #include <errno.h>
  9. #include <linux/fs.h>
  10. #include <linux/videodev2.h>
  11. int main(int argc,char **argv) {
  12.   int vfd = 0;
  13.   int arg = 1;
  14.   struct v4l2_window win;
  15.   char *devname = "/dev/video";
  16.   if( argc != 6 ) {
  17.         puts("Usage: preview_on x y width height keyn");
  18.         puts("  x,y - upper left corner on desktopn");
  19.         puts("  width,height - size of preview windown");
  20.         puts("  key - currently unusedn");
  21.         exit(1);
  22.   }
  23.   win.x = atoi(argv[1]);
  24.   win.y = atoi(argv[2]);
  25.   win.width = atoi(argv[3]);
  26.   win.height = atoi(argv[4]);
  27.   win.chromakey = atoi(argv[5]);
  28.   win.clips = NULL;
  29.   win.clipcount = 0;
  30.   vfd = open(devname,O_RDWR|O_NONCAP);
  31.   if (vfd <= 0) {
  32.     fprintf(stderr,"sorry, no such device %sn",devname);
  33.     exit(1);
  34.   }
  35.   if (ioctl(vfd,VIDIOC_PREVIEW,&arg) < 0)
  36.     perror("setting frequency"),exit(1);
  37.   if (ioctl(vfd,VIDIOC_S_WIN,&win) < 0)
  38.     perror("setting frequency"),exit(1);
  39.   close(vfd);
  40.   return 0;
  41. }