1*4882a593Smuzhiyun.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 2*4882a593Smuzhiyun.. c:namespace:: DTV.video 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun.. _VIDEO_GET_EVENT: 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun=============== 7*4882a593SmuzhiyunVIDEO_GET_EVENT 8*4882a593Smuzhiyun=============== 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunName 11*4882a593Smuzhiyun---- 12*4882a593Smuzhiyun 13*4882a593SmuzhiyunVIDEO_GET_EVENT 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun.. attention:: This ioctl is deprecated. 16*4882a593Smuzhiyun 17*4882a593SmuzhiyunSynopsis 18*4882a593Smuzhiyun-------- 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun.. c:macro:: VIDEO_GET_EVENT 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun``int ioctl(fd, VIDEO_GET_EVENT, struct video_event *ev)`` 23*4882a593Smuzhiyun 24*4882a593SmuzhiyunArguments 25*4882a593Smuzhiyun--------- 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun.. flat-table:: 28*4882a593Smuzhiyun :header-rows: 0 29*4882a593Smuzhiyun :stub-columns: 0 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun - .. row 1 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun - int fd 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun - File descriptor returned by a previous call to open(). 36*4882a593Smuzhiyun 37*4882a593Smuzhiyun - .. row 2 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun - int request 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun - Equals VIDEO_GET_EVENT for this command. 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun - .. row 3 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun - struct video_event \*ev 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun - Points to the location where the event, if any, is to be stored. 48*4882a593Smuzhiyun 49*4882a593SmuzhiyunDescription 50*4882a593Smuzhiyun----------- 51*4882a593Smuzhiyun 52*4882a593SmuzhiyunThis ioctl is for Digital TV devices only. To get events from a V4L2 decoder 53*4882a593Smuzhiyunuse the V4L2 :ref:`VIDIOC_DQEVENT` ioctl instead. 54*4882a593Smuzhiyun 55*4882a593SmuzhiyunThis ioctl call returns an event of type video_event if available. If 56*4882a593Smuzhiyunan event is not available, the behavior depends on whether the device is 57*4882a593Smuzhiyunin blocking or non-blocking mode. In the latter case, the call fails 58*4882a593Smuzhiyunimmediately with errno set to ``EWOULDBLOCK``. In the former case, the call 59*4882a593Smuzhiyunblocks until an event becomes available. The standard Linux poll() 60*4882a593Smuzhiyunand/or select() system calls can be used with the device file descriptor 61*4882a593Smuzhiyunto watch for new events. For select(), the file descriptor should be 62*4882a593Smuzhiyunincluded in the exceptfds argument, and for poll(), POLLPRI should be 63*4882a593Smuzhiyunspecified as the wake-up condition. Read-only permissions are sufficient 64*4882a593Smuzhiyunfor this ioctl call. 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun.. c:type:: video_event 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun.. code-block:: c 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun struct video_event { 71*4882a593Smuzhiyun __s32 type; 72*4882a593Smuzhiyun #define VIDEO_EVENT_SIZE_CHANGED 1 73*4882a593Smuzhiyun #define VIDEO_EVENT_FRAME_RATE_CHANGED 2 74*4882a593Smuzhiyun #define VIDEO_EVENT_DECODER_STOPPED 3 75*4882a593Smuzhiyun #define VIDEO_EVENT_VSYNC 4 76*4882a593Smuzhiyun long timestamp; 77*4882a593Smuzhiyun union { 78*4882a593Smuzhiyun video_size_t size; 79*4882a593Smuzhiyun unsigned int frame_rate; /* in frames per 1000sec */ 80*4882a593Smuzhiyun unsigned char vsync_field; /* unknown/odd/even/progressive */ 81*4882a593Smuzhiyun } u; 82*4882a593Smuzhiyun }; 83*4882a593Smuzhiyun 84*4882a593SmuzhiyunReturn Value 85*4882a593Smuzhiyun------------ 86*4882a593Smuzhiyun 87*4882a593SmuzhiyunOn success 0 is returned, on error -1 and the ``errno`` variable is set 88*4882a593Smuzhiyunappropriately. The generic error codes are described at the 89*4882a593Smuzhiyun:ref:`Generic Error Codes <gen-errors>` chapter. 90*4882a593Smuzhiyun 91*4882a593Smuzhiyun.. flat-table:: 92*4882a593Smuzhiyun :header-rows: 0 93*4882a593Smuzhiyun :stub-columns: 0 94*4882a593Smuzhiyun 95*4882a593Smuzhiyun - .. row 1 96*4882a593Smuzhiyun 97*4882a593Smuzhiyun - ``EWOULDBLOCK`` 98*4882a593Smuzhiyun 99*4882a593Smuzhiyun - There is no event pending, and the device is in non-blocking mode. 100*4882a593Smuzhiyun 101*4882a593Smuzhiyun - .. row 2 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun - ``EOVERFLOW`` 104*4882a593Smuzhiyun 105*4882a593Smuzhiyun - Overflow in event queue - one or more events were lost. 106