1 /* GStreamer 2 * 3 * Copyright (C) 2015 Brijesh Singh <brijesh.ksingh@gmail.com> 4 * 5 * This library is free software; you can redistribute it and/or 6 * modify it under the terms of the GNU Library General Public 7 * License as published by the Free Software Foundation; either 8 * version 2 of the License, or (at your option) any later version. 9 * 10 * This library 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 GNU 13 * Library General Public License for more details. 14 * 15 * You should have received a copy of the GNU Library General Public 16 * License along with this library; if not, write to the 17 * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, 18 * Boston, MA 02110-1301, USA. 19 */ 20 21 #include "gstplayer-media-info.h" 22 23 #ifndef __GST_PLAYER_MEDIA_INFO_PRIVATE_H__ 24 #define __GST_PLAYER_MEDIA_INFO_PRIVATE_H__ 25 26 #include <gst/play/gstplay-media-info.h> 27 28 struct _GstPlayerStreamInfo 29 { 30 GObject parent; 31 32 gint stream_index; 33 GstPlayStreamInfo *info; 34 }; 35 36 struct _GstPlayerStreamInfoClass 37 { 38 GObjectClass parent_class; 39 }; 40 41 struct _GstPlayerSubtitleInfo 42 { 43 GstPlayerStreamInfo parent; 44 45 GstPlaySubtitleInfo *info; 46 }; 47 48 struct _GstPlayerSubtitleInfoClass 49 { 50 GstPlayerStreamInfoClass parent_class; 51 }; 52 53 struct _GstPlayerAudioInfo 54 { 55 GstPlayerStreamInfo parent; 56 57 GstPlayAudioInfo *info; 58 }; 59 60 struct _GstPlayerAudioInfoClass 61 { 62 GstPlayerStreamInfoClass parent_class; 63 }; 64 65 struct _GstPlayerVideoInfo 66 { 67 GstPlayerStreamInfo parent; 68 69 GstPlayVideoInfo *info; 70 }; 71 72 struct _GstPlayerVideoInfoClass 73 { 74 GstPlayerStreamInfoClass parent_class; 75 }; 76 77 struct _GstPlayerMediaInfo 78 { 79 GObject parent; 80 81 GList *stream_list; 82 GList *audio_stream_list; 83 GList *video_stream_list; 84 GList *subtitle_stream_list; 85 GstPlayMediaInfo *info; 86 }; 87 88 struct _GstPlayerMediaInfoClass 89 { 90 GObjectClass parent_class; 91 }; 92 93 G_GNUC_INTERNAL GstPlayerMediaInfo* gst_player_media_info_new 94 (void); 95 G_GNUC_INTERNAL GstPlayerMediaInfo* gst_player_media_info_copy 96 (GstPlayerMediaInfo *ref); 97 G_GNUC_INTERNAL GstPlayerStreamInfo* gst_player_stream_info_new 98 (gint stream_index, GType type); 99 G_GNUC_INTERNAL GstPlayerStreamInfo* gst_player_stream_info_wrapped 100 (GstPlayStreamInfo * info); 101 G_GNUC_INTERNAL GstPlayerStreamInfo* gst_player_stream_info_copy 102 (GstPlayerStreamInfo *ref); 103 104 G_GNUC_INTERNAL GstPlayerMediaInfo* gst_player_media_info_wrapped 105 (GstPlayMediaInfo *info); 106 G_GNUC_INTERNAL GstPlayerAudioInfo* gst_player_audio_info_wrapped 107 (GstPlayAudioInfo *info); 108 G_GNUC_INTERNAL GstPlayerVideoInfo* gst_player_video_info_wrapped 109 (GstPlayVideoInfo *info); 110 G_GNUC_INTERNAL GstPlayerSubtitleInfo* gst_player_subtitle_info_wrapped 111 (GstPlaySubtitleInfo *info); 112 113 #endif /* __GST_PLAYER_MEDIA_INFO_PRIVATE_H__ */ 114