adaptive: extract variant info
[platform/upstream/gstreamer.git] / ext / hls / m3u8.h
index 195ec2a..31d326c 100644 (file)
@@ -188,6 +188,15 @@ struct _GstHLSVariantStream {
   GList *media[GST_HLS_N_MEDIA_TYPES];
 };
 
+#ifdef TIZEN_FEATURE_ADAPTIVE_MODIFICATION
+typedef struct
+{
+  gint bandwidth;
+  gint width;
+  gint height;
+} GstM3U8VideoVariantInfo;
+#endif
+
 GstHLSVariantStream * gst_hls_variant_stream_ref (GstHLSVariantStream * stream);
 
 void                  gst_hls_variant_stream_unref (GstHLSVariantStream * stream);
@@ -203,7 +212,9 @@ struct _GstHLSMasterPlaylist
   /* Available variant streams, sorted by bitrate (low -> high) */
   GList    *variants;
   GList    *iframe_variants;
-
+#ifdef TIZEN_FEATURE_ADAPTIVE_MODIFICATION
+  GList    *variant_info;                /* stream variant info */
+#endif
   GstHLSVariantStream *default_variant;  /* first in the list */
 
   gint      version;                     /* EXT-X-VERSION */
@@ -220,10 +231,16 @@ struct _GstHLSMasterPlaylist
 
 GstHLSMasterPlaylist * gst_hls_master_playlist_new_from_data (gchar       * data,
                                                               const gchar * base_uri);
-
+#ifdef TIZEN_FEATURE_ADAPTIVE_MODIFICATION
+GstHLSVariantStream *  gst_hls_master_playlist_get_variant_for_max_limit (GstHLSMasterPlaylist *playlist,
+                                                                          GstHLSVariantStream * current_variant,
+                                                                          guint bitrate, gint bandwidth,
+                                                                          gint width, gint height);
+#else
 GstHLSVariantStream *  gst_hls_master_playlist_get_variant_for_bitrate (GstHLSMasterPlaylist * playlist,
                                                                         GstHLSVariantStream  * current_variant,
                                                                         guint                  bitrate);
+#endif
 GstHLSVariantStream *  gst_hls_master_playlist_get_matching_variant (GstHLSMasterPlaylist * playlist,
                                                                      GstHLSVariantStream  * current_variant);