summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYan Yin <yan.yin@intel.com>2012-11-26 15:27:39 +0800
committerYan Yin <yan.yin@intel.com>2013-03-07 17:30:43 +0800
commitb3c1aa0f7368852bf1d64ee460b907d9e67674a8 (patch)
treed988dd470a14e87ebe55953887409ca29a66b5b4
parent43318f0b145f22dcb8f9e02b8fb3b34885097756 (diff)
downloadlibmm-player-b3c1aa0f7368852bf1d64ee460b907d9e67674a8.tar.gz
libmm-player-b3c1aa0f7368852bf1d64ee460b907d9e67674a8.tar.bz2
libmm-player-b3c1aa0f7368852bf1d64ee460b907d9e67674a8.zip
vaapi: add initial playback support
-rw-r--r--src/mm_player_priv.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/mm_player_priv.c b/src/mm_player_priv.c
index eaf9917..900680f 100644
--- a/src/mm_player_priv.c
+++ b/src/mm_player_priv.c
@@ -2712,6 +2712,14 @@ _mmplayer_update_video_param(mm_player_t* player) // @
mm_attrs_get_data_by_name(attrs, "display_overlay", &xid);
if ( xid )
{
+#define GST_VAAPI_DISPLAY_TYPE_X11 1
+ if (!strncmp(PLAYER_INI()->videosink_element_x,"vaapisink", strlen("vaapisink"))){
+ debug_log("set video param: vaapisink display %d", GST_VAAPI_DISPLAY_TYPE_X11);
+ g_object_set(player->pipeline->videobin[MMPLAYER_V_SINK].gst,
+ "display", GST_VAAPI_DISPLAY_TYPE_X11,
+ NULL);
+ }
+
debug_log("set video param : xid %d", *(int*)xid);
gst_x_overlay_set_xwindow_id( GST_X_OVERLAY( player->pipeline->videobin[MMPLAYER_V_SINK].gst ), *(int*)xid );
}
@@ -3562,6 +3570,7 @@ __mmplayer_gst_create_video_pipeline(mm_player_t* player, GstCaps* caps, MMDispl
}
}
+ if (strncmp(PLAYER_INI()->videosink_element_x,"vaapisink", strlen("vaapisink"))){
/* set video rotator */
if ( !player->is_nv12_tiled )
MMPLAYER_CREATE_ELEMENT(videobin, MMPLAYER_V_FLIP, "videoflip", "video rotator", TRUE);
@@ -3570,6 +3579,7 @@ __mmplayer_gst_create_video_pipeline(mm_player_t* player, GstCaps* caps, MMDispl
#if !defined(__arm__)
MMPLAYER_CREATE_ELEMENT(videobin, MMPLAYER_V_SCALE, "videoscale", "videoscaler", TRUE);
#endif
+ }
/* set video sink */
switch (surface_type)
@@ -7729,6 +7739,7 @@ __mmplayer_try_to_plug(mm_player_t* player, GstPad *pad, const GstCaps *caps) //
/* return if we got raw output */
if(g_str_has_prefix(mime, "video/x-raw") || g_str_has_prefix(mime, "audio/x-raw")
+ || g_str_has_prefix(mime, "video/x-surface")
|| g_str_has_prefix(mime, "text/plain") ||g_str_has_prefix(mime, "text/x-pango-markup"))
{