1 /* 2 * This file is part of gtkD. 3 * 4 * gtkD is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU Lesser General Public License 6 * as published by the Free Software Foundation; either version 3 7 * of the License, or (at your option) any later version, with 8 * some exceptions, please read the COPYING file. 9 * 10 * gtkD is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU Lesser General Public License for more details. 14 * 15 * You should have received a copy of the GNU Lesser General Public License 16 * along with gtkD; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA 18 */ 19 20 // generated automatically - do not change 21 // find conversion definition on APILookup.txt 22 // implement new conversion functionalities on the wrap.utils pakage 23 24 25 module gstreamerc.gstinterfacestypes; 26 27 public import gtkc.glibtypes; 28 public import gtkc.gobjecttypes; 29 30 /** 31 * The different video orientation methods. 32 * 33 * Since: 1.10 34 */ 35 public enum GstVideoOrientationMethod 36 { 37 /** 38 * Identity (no rotation) 39 */ 40 IDENTITY = 0, 41 /** 42 * Rotate clockwise 90 degrees 43 */ 44 _90R = 1, 45 /** 46 * Rotate 180 degrees 47 */ 48 _180 = 2, 49 /** 50 * Rotate counter-clockwise 90 degrees 51 */ 52 _90L = 3, 53 /** 54 * Flip horizontally 55 */ 56 HORIZ = 4, 57 /** 58 * Flip vertically 59 */ 60 VERT = 5, 61 /** 62 * Flip across upper left/lower right diagonal 63 */ 64 UL_LR = 6, 65 /** 66 * Flip across upper right/lower left diagonal 67 */ 68 UR_LL = 7, 69 /** 70 * Select flip method based on image-orientation tag 71 */ 72 AUTO = 8, 73 /** 74 * Current status depends on plugin internal setup 75 */ 76 CUSTOM = 9, 77 } 78 alias GstVideoOrientationMethod VideoOrientationMethod; 79 80 /** 81 * Flags related to the time code information. 82 * For drop frame, only 30000/1001 and 60000/1001 frame rates are supported. 83 * 84 * Since: 1.10 85 */ 86 public enum GstVideoTimeCodeFlags 87 { 88 /** 89 * No flags 90 */ 91 NONE = 0, 92 /** 93 * Whether we have drop frame rate 94 */ 95 DROP_FRAME = 1, 96 /** 97 * Whether we have interlaced video 98 */ 99 INTERLACED = 2, 100 } 101 alias GstVideoTimeCodeFlags VideoTimeCodeFlags; 102 103 /** 104 * #GstVideoDirectionInterface interface. 105 * 106 * Since: 1.10 107 */ 108 struct GstVideoDirectionInterface 109 { 110 /** 111 * parent interface type. 112 */ 113 GTypeInterface iface; 114 } 115 116 struct GstVideoOverlay; 117 118 /** 119 * #GstVideoOverlay interface 120 */ 121 struct GstVideoOverlayInterface 122 { 123 /** 124 * parent interface type. 125 */ 126 GTypeInterface iface; 127 /** */ 128 extern(C) void function(GstVideoOverlay* overlay) expose; 129 /** */ 130 extern(C) void function(GstVideoOverlay* overlay, int handleEvents) handleEvents; 131 /** */ 132 extern(C) void function(GstVideoOverlay* overlay, int x, int y, int width, int height) setRenderRectangle; 133 /** */ 134 extern(C) void function(GstVideoOverlay* overlay, size_t handle) setWindowHandle; 135 } 136 137 /** 138 * Supported frame rates: 30000/1001, 60000/1001 (both with and without drop 139 * frame), and integer frame rates e.g. 25/1, 30/1, 50/1, 60/1. 140 * 141 * The configuration of the time code. 142 * 143 * Since: 1.10 144 */ 145 struct GstVideoTimeCodeConfig 146 { 147 /** 148 * Numerator of the frame rate 149 */ 150 uint fpsN; 151 /** 152 * Denominator of the frame rate 153 */ 154 uint fpsD; 155 /** 156 * the corresponding #GstVideoTimeCodeFlags 157 */ 158 GstVideoTimeCodeFlags flags; 159 /** 160 * The latest daily jam information, if present, or NULL 161 */ 162 GDateTime* latestDailyJam; 163 }