• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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