1*4882a593Smuzhiyun.. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later 2*4882a593Smuzhiyun.. c:namespace:: DTV.video 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun.. _VIDEO_COMMAND: 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun============= 7*4882a593SmuzhiyunVIDEO_COMMAND 8*4882a593Smuzhiyun============= 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunName 11*4882a593Smuzhiyun---- 12*4882a593Smuzhiyun 13*4882a593SmuzhiyunVIDEO_COMMAND 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun.. attention:: This ioctl is deprecated. 16*4882a593Smuzhiyun 17*4882a593SmuzhiyunSynopsis 18*4882a593Smuzhiyun-------- 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun.. c:macro:: VIDEO_COMMAND 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun``int ioctl(int fd, VIDEO_COMMAND, struct video_command *cmd)`` 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_COMMAND for this command. 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun - .. row 3 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun - struct video_command \*cmd 46*4882a593Smuzhiyun 47*4882a593Smuzhiyun - Commands the decoder. 48*4882a593Smuzhiyun 49*4882a593SmuzhiyunDescription 50*4882a593Smuzhiyun----------- 51*4882a593Smuzhiyun 52*4882a593SmuzhiyunThis ioctl is obsolete. Do not use in new drivers. For V4L2 decoders 53*4882a593Smuzhiyunthis ioctl has been replaced by the 54*4882a593Smuzhiyun:ref:`VIDIOC_DECODER_CMD` ioctl. 55*4882a593Smuzhiyun 56*4882a593SmuzhiyunThis ioctl commands the decoder. The ``video_command`` struct is a 57*4882a593Smuzhiyunsubset of the ``v4l2_decoder_cmd`` struct, so refer to the 58*4882a593Smuzhiyun:ref:`VIDIOC_DECODER_CMD` documentation for 59*4882a593Smuzhiyunmore information. 60*4882a593Smuzhiyun 61*4882a593Smuzhiyun.. c:type:: video_command 62*4882a593Smuzhiyun 63*4882a593Smuzhiyun.. code-block:: c 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun /* The structure must be zeroed before use by the application 66*4882a593Smuzhiyun This ensures it can be extended safely in the future. */ 67*4882a593Smuzhiyun struct video_command { 68*4882a593Smuzhiyun __u32 cmd; 69*4882a593Smuzhiyun __u32 flags; 70*4882a593Smuzhiyun union { 71*4882a593Smuzhiyun struct { 72*4882a593Smuzhiyun __u64 pts; 73*4882a593Smuzhiyun } stop; 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun struct { 76*4882a593Smuzhiyun /* 0 or 1000 specifies normal speed, 77*4882a593Smuzhiyun 1 specifies forward single stepping, 78*4882a593Smuzhiyun -1 specifies backward single stepping, 79*4882a593Smuzhiyun >1: playback at speed/1000 of the normal speed, 80*4882a593Smuzhiyun <-1: reverse playback at (-speed/1000) of the normal speed. */ 81*4882a593Smuzhiyun __s32 speed; 82*4882a593Smuzhiyun __u32 format; 83*4882a593Smuzhiyun } play; 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun struct { 86*4882a593Smuzhiyun __u32 data[16]; 87*4882a593Smuzhiyun } raw; 88*4882a593Smuzhiyun }; 89*4882a593Smuzhiyun }; 90*4882a593Smuzhiyun 91*4882a593SmuzhiyunReturn Value 92*4882a593Smuzhiyun------------ 93*4882a593Smuzhiyun 94*4882a593SmuzhiyunOn success 0 is returned, on error -1 and the ``errno`` variable is set 95*4882a593Smuzhiyunappropriately. The generic error codes are described at the 96*4882a593Smuzhiyun:ref:`Generic Error Codes <gen-errors>` chapter. 97