summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorYounghwan Ahn <younghwan_.an@samsung.com>2012-09-03 18:38:24 +0900
committerYounghwan Ahn <younghwan_.an@samsung.com>2012-09-03 18:38:24 +0900
commit86aca17be19ac4cd3b87fcf5d52b225563728cef (patch)
tree45d5b0491142015b8d222c98a637679963c5c4a3 /src/include
parentf3e126e6f075bf08f52f2e2b84ccc03259b5b1d6 (diff)
downloadlibmm-player-86aca17be19ac4cd3b87fcf5d52b225563728cef.tar.gz
libmm-player-86aca17be19ac4cd3b87fcf5d52b225563728cef.tar.bz2
libmm-player-86aca17be19ac4cd3b87fcf5d52b225563728cef.zip
sync with private (add mm_player_get_track_count, seek check bug)
Diffstat (limited to 'src/include')
-rwxr-xr-xsrc/include/mm_player.h48
-rwxr-xr-xsrc/include/mm_player_capture.h4
-rwxr-xr-xsrc/include/mm_player_priv.h32
3 files changed, 72 insertions, 12 deletions
diff --git a/src/include/mm_player.h b/src/include/mm_player.h
index cdfbada..7d3ce63 100755
--- a/src/include/mm_player.h
+++ b/src/include/mm_player.h
@@ -353,6 +353,11 @@
<td>range</td>
</tr>
<tr>
+ <td>"content_text_track_num"</td>
+ <td>int</td>
+ <td>range</td>
+ </tr>
+ <tr>
<td>"tag_artist"</td>
<td>string</td>
<td>N/A</td>
@@ -574,6 +579,12 @@
*/
#define MM_PLAYER_AUDIO_TRACK_NUM "content_audio_track_num"
/**
+ * MM_PLAYER_TEXT_TRACK_NUM
+ *
+ * track number inside a collection (int)
+ */
+#define MM_PLAYER_TEXT_TRACK_NUM "content_text_track_num"
+/**
* MM_PLAYER_TAG_ARTIST
*
* person(s) responsible for the recording (string)
@@ -704,6 +715,15 @@ typedef enum {
}MMPlayerPDMode;
/**
+ * Enumeration of track types
+ */
+typedef enum {
+ MM_PLAYER_TRACK_TYPE_AUDIO,
+ MM_PLAYER_TRACK_TYPE_VIDEO,
+ MM_PLAYER_TRACK_TYPE_TEXT
+}MMPlayerTrackType;
+
+/**
* Attribute validity structure
*/
typedef struct {
@@ -1446,6 +1466,7 @@ if (method_info. validity_type == MM_PLAYER_ATTRS_VALID_TYPE_INT_RANGE)
* @endcode
*/
int mm_player_get_attribute_info(MMHandleType player, const char *attribute_name, MMPlayerAttrsInfo *info);
+
/**
* This function is to get download position and total size of progressive download
*
@@ -1504,6 +1525,33 @@ mm_player_set_pd_message_callback(g_player, msg_callback, NULL);
int mm_player_set_pd_message_callback(MMHandleType player, MMMessageCallback callback, void *user_param);
/**
+ * This function is to get the track count
+ *
+ * @param player [in] handle of player.
+ * @param track_type [in] type of the track type
+ * @param info [out] the count of the track
+ *
+ * @return This function returns zero on success, or negative value with error
+ * code.
+ *
+ * @see
+ * @remark None
+ * @par Example
+ * @code
+gint audio_count = 0;
+
+if (mm_player_get_track_count (g_player, MM_PLAYER_TRACK_TYPE_AUDIO, &audio_count) != MM_ERROR_NONE)
+{
+ printf("failed to get audio track count\n");
+}
+
+printf("audio track count : %d \n", audio_count);
+ * @endcode
+ */
+int mm_player_get_track_count(MMHandleType player, MMPlayerTrackType track_type, int *count);
+
+
+/**
@}
*/
diff --git a/src/include/mm_player_capture.h b/src/include/mm_player_capture.h
index 401ca09..81eb123 100755
--- a/src/include/mm_player_capture.h
+++ b/src/include/mm_player_capture.h
@@ -45,7 +45,7 @@
* @see
*
*/
-int __mmplayer_initialize_video_capture(mm_player_t* player);
+int _mmplayer_initialize_video_capture(mm_player_t* player);
/**
* This function is to release video capture
*
@@ -55,7 +55,7 @@ int __mmplayer_initialize_video_capture(mm_player_t* player);
* @see
*
*/
-int __mmplayer_release_video_capture(mm_player_t* player);
+int _mmplayer_release_video_capture(mm_player_t* player);
/**
* This function is to get video snapshot during playback.
*
diff --git a/src/include/mm_player_priv.h b/src/include/mm_player_priv.h
index 499aee9..3a29bfc 100755
--- a/src/include/mm_player_priv.h
+++ b/src/include/mm_player_priv.h
@@ -198,21 +198,31 @@ enum VideoElementID
};
/* text pipeline's element id */
-enum SubtitleElementID
+enum TextElementID
{
- MMPLAYER_T_PIPE = 0, /* NOTE : MMPLAYER_T_PIPE should be zero */
- MMPLAYER_T_SRC,
+ MMPLAYER_T_BIN = 0, /* NOTE : MMPLAYER_V_BIN should be zero */
MMPLAYER_T_QUEUE,
- MMPLAYER_T_SUBPARSE,
- MMPLAYER_T_TEXTRENDER,
- MMPLAYER_T_FLIP,
- MMPLAYER_T_CONV1,
- MMPLAYER_T_CONV2,
- MMPLAYER_T_SCALE,
+ MMPLAYER_T_OVERLAY,
MMPLAYER_T_SINK,
MMPLAYER_T_NUM
};
+/* subtitle pipeline's element id */
+enum SubtitleElementID
+{
+ MMPLAYER_SUB_PIPE = 0, /* NOTE : MMPLAYER_SUB_PIPE should be zero */
+ MMPLAYER_SUB_SRC,
+ MMPLAYER_SUB_QUEUE,
+ MMPLAYER_SUB_SUBPARSE,
+ MMPLAYER_SUB_TEXTRENDER,
+ MMPLAYER_SUB_FLIP,
+ MMPLAYER_SUB_CONV1,
+ MMPLAYER_SUB_CONV2,
+ MMPLAYER_SUB_SCALE,
+ MMPLAYER_SUB_SINK,
+ MMPLAYER_SUB_NUM
+};
+
/* midi main pipeline's element id */
enum MidiElementID
{
@@ -304,6 +314,7 @@ typedef struct
{
GstTagList *tag_list;
MMPlayerGstElement *mainbin;
+ MMPlayerGstElement *subtitlebin;
MMPlayerGstElement *audiobin;
MMPlayerGstElement *videobin;
MMPlayerGstElement *textbin;
@@ -536,6 +547,7 @@ typedef struct {
gint audiodec_linked;
gint videosink_linked;
gint audiosink_linked;
+ gint textsink_linked;
/* missing plugin during autoplugging */
MissingCodec not_supported_codec;
@@ -553,7 +565,7 @@ typedef struct {
/* support seek even though player is not start */
MMPlayerPendingSeek pending_seek;
- gboolean is_seeking;
+ gboolean doing_seek;
/* prevent to post msg over and over */
gboolean posted_msg;