1 /* 2 * gstrtpvp9pay.h - Header for GstRtpVP9Pay 3 * Copyright (C) 2011 Sjoerd Simons <sjoerd@luon.net> 4 * Copyright (C) 2015 Stian Selnes <stian@pexip.com> 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either 9 * version 2.1 of the License, or (at your option) any later version. 10 * 11 * This library is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public 17 * License along with this library; if not, write to the Free Software 18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 19 */ 20 21 #ifndef __GST_RTP_VP9_PAY_H__ 22 #define __GST_RTP_VP9_PAY_H__ 23 24 #include <gst/rtp/gstrtpbasepayload.h> 25 26 G_BEGIN_DECLS 27 28 #define GST_TYPE_RTP_VP9_PAY \ 29 (gst_rtp_vp9_pay_get_type()) 30 #define GST_RTP_VP9_PAY(obj) \ 31 (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_RTP_VP9_PAY, GstRtpVP9Pay)) 32 #define GST_RTP_VP9_PAY_CLASS(klass) \ 33 (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_RTP_VP9_PAY, GstRtpVP9PayClass)) 34 #define GST_IS_RTP_VP9_PAY(obj) \ 35 (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_RTP_VP9_PAY)) 36 #define GST_IS_RTP_VP9_PAY_CLASS(klass) \ 37 (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_RTP_VP9_PAY)) 38 #define GST_RTP_VP9_PAY_GET_CLASS(obj) \ 39 (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_RTP_VP9_PAY, GstRtpVP9PayClass)) 40 41 typedef struct _GstRtpVP9Pay GstRtpVP9Pay; 42 typedef struct _GstRtpVP9PayClass GstRtpVP9PayClass; 43 typedef enum _VP9PictureIDMode VP9PictureIDMode; 44 45 enum _VP9PictureIDMode { 46 VP9_PAY_NO_PICTURE_ID, 47 VP9_PAY_PICTURE_ID_7BITS, 48 VP9_PAY_PICTURE_ID_15BITS, 49 }; 50 51 struct _GstRtpVP9PayClass 52 { 53 GstRTPBasePayloadClass parent_class; 54 }; 55 56 struct _GstRtpVP9Pay 57 { 58 GstRTPBasePayload parent; 59 gboolean is_keyframe; 60 guint width; 61 guint height; 62 VP9PictureIDMode picture_id_mode; 63 guint16 picture_id; 64 }; 65 66 GType gst_rtp_vp9_pay_get_type (void); 67 68 G_END_DECLS 69 70 #endif /* #ifndef __GST_RTP_VP9_PAY_H__ */ 71