#include <vconf.h>
#include <mm_attrs_private.h>
#include <mm_attrs.h>
+#ifndef GST_API_VERSION_1
#include <gst/interfaces/xoverlay.h>
-
+#else
+#include <gst/video/videooverlay.h>
+#endif
#include "mm_player_priv.h"
#include "mm_player_attrs.h"
return_val_if_fail(handle, MM_ERROR_COMMON_INVALID_ARGUMENT);
return_val_if_fail(attribute_name, MM_ERROR_COMMON_INVALID_ARGUMENT);
- attrs = MM_PLAYER_GET_ATTRS(handle);;
+ attrs = MM_PLAYER_GET_ATTRS(handle);
player = MM_PLAYER_CAST(handle);
if ( g_strrstr(attribute_name, "display") )
{
/* check videosink element is created */
if ( !player->pipeline ||
- !player->pipeline->videobin ||
- !player->pipeline->videobin[MMPLAYER_V_SINK].gst )
+ !player->pipeline->videobin ||
+ !player->pipeline->videobin[MMPLAYER_V_SINK].gst )
{
- debug_warning("videosink element is not yet ready\n");
/*
* The attribute should be committed even though videobin is not created yet.
* So, true should be returned here.
if ( MM_ERROR_NONE != _mmplayer_update_video_param( player ) )
{
- debug_error("failed to update video param\n");
+ debug_error("failed to update video param");
return MM_ERROR_PLAYER_INTERNAL;
}
}
debug_fenter();
- return_if_fail(handle);
+ return_val_if_fail (handle, 0);
MMPlayerAttrsSpec player_attrs[] =
{
MMPLAYER_MAX_INT
},
{
- "profile_async_start",
+ "profile_prepare_async",
MM_ATTRS_TYPE_INT,
MM_ATTRS_FLAG_RW,
- (void *) 1,
+ (void *) 0,
MM_ATTRS_VALID_TYPE_INT_RANGE,
0,
1
0
},
{
- "display_overlay_ext",
+ "display_overlay_user_data",
MM_ATTRS_TYPE_DATA,
MM_ATTRS_FLAG_RW,
(void *) NULL,
"display_surface_type",
MM_ATTRS_TYPE_INT,
MM_ATTRS_FLAG_RW,
- (void *) 0,
+ (void *) MM_DISPLAY_SURFACE_NULL,
MM_ATTRS_VALID_TYPE_INT_RANGE,
MM_DISPLAY_SURFACE_X,
- MM_DISPLAY_SURFACE_NULL
- },
- {
- "display_surface_use_multi",
- MM_ATTRS_TYPE_INT,
- MM_ATTRS_FLAG_RW,
- (void *) FALSE,
- MM_ATTRS_VALID_TYPE_INT_RANGE,
- FALSE,
- TRUE
+ MM_DISPLAY_SURFACE_X_EXT
},
{
"display_evas_surface_sink",
2
},
{
+ "audio_latency_mode",
+ MM_ATTRS_TYPE_INT,
+ MM_ATTRS_FLAG_RW,
+ (void *) 1, // 0: low latency, 1: middle latency 2: high latency
+ MM_ATTRS_VALID_TYPE_INT_RANGE,
+ 0,
+ 2
+ },
+ {
"pcm_extraction", // enable pcm extraction
MM_ATTRS_TYPE_INT,
MM_ATTRS_FLAG_RW,
if ( !base )
{
- debug_error("Cannot create mmplayer attribute\n");
- goto ERROR;
+ debug_error("failed to alloc attrs constructor");
+ return 0;
}
/* initialize values of attributes */
if ( !attrs )
{
- debug_error("Cannot create mmplayer attribute\n");
- goto ERROR;
+ debug_error("failed to create player attrs");
+ return 0;
}
/* set validity type and range */
debug_fleave();
return attrs;
-
-ERROR:
- _mmplayer_deconstruct_attribute(handle);
-
- return FALSE;
}
bool
mm_player_t *player = MM_PLAYER_CAST(handle);
- return_if_fail( player );
+ return_val_if_fail ( player, FALSE );
if (player->attrs)
{
}
debug_fleave();
+
+ return TRUE;
}