diff --git a/low_power_player/v1_0/BUILD.gn b/low_power_player/v1_0/BUILD.gn
index 4889b523bf9dab752a1bea73fe5f9f17a353da3b..dbdd541e99f5760966d391ea73283b6ccfa79119 100644
--- a/low_power_player/v1_0/BUILD.gn
+++ b/low_power_player/v1_0/BUILD.gn
@@ -23,6 +23,7 @@ if (defined(ohos_lite)) {
module_name = "low_power_player_service"
sources = [
+ "ILppTypes.idl",
"ILowPowerPlayerFactory.idl",
"ILppAudioSinkAdapter.idl",
"ILppSyncManagerCallback.idl",
diff --git a/low_power_player/v1_0/ILowPowerPlayerFactory.idl b/low_power_player/v1_0/ILowPowerPlayerFactory.idl
index 4d10d1173597740349a233171d45a72cf4f014a3..bc4d60439e0302ee656121b44338e4d21f18b702 100644
--- a/low_power_player/v1_0/ILowPowerPlayerFactory.idl
+++ b/low_power_player/v1_0/ILowPowerPlayerFactory.idl
@@ -31,6 +31,7 @@ package ohos.hdi.low_power_player.v1_0;
import ohos.hdi.low_power_player.v1_0.ILppAudioSinkAdapter;
import ohos.hdi.low_power_player.v1_0.ILppSyncManagerAdapter;
+import ohos.hdi.low_power_player.v1_0.ILppTypes;
interface ILowPowerPlayerFactory {
/**
@@ -47,22 +48,7 @@ interface ILowPowerPlayerFactory {
* @since 6.0
* @version 1.0
*/
- CreateSyncMgr([out] ILppSyncManagerAdapter syncMgrAdapter, [out] unsigned int syncMgrId);
-
- /**
- * @brief Destroys a low power player audio and video sync manager adapter.
- *
- *
- *
- * @param syncMgrId Indicates the ID of the sync manager adapter to destroy.
- *
- * @return Returns HDF_SUCCESS if the operation is successful.
- * @return Returns HDF_FAILURE if the execution fails.
- *
- * @since 6.0
- * @version 1.0
- */
- DestroySyncMgr([in] unsigned int syncMgrId);
+ CreateSyncMgr([out] ILppSyncManagerAdapter syncMgrAdapter);
/**
* @brief Creates a low power player audio sink adapter adapter.
@@ -78,14 +64,14 @@ interface ILowPowerPlayerFactory {
* @since 6.0
* @version 1.0
*/
- CreateAudioSink([out] ILppAudioSinkAdapter audioSinkAdapter, [out] unsigned int audioSinkId);
+ CreateAudioSink([out] ILppAudioSinkAdapter audioSinkAdapter);
- /**
- * @brief Destroys a low power player audio sink adapter adapter.
+ /**
+ * @brief Gets the capabilities of lpplayer.
*
*
*
- * @param audioSinkId Indicates the ID of the audio sink adapter to destroy.
+ * @param cap Indicates the capabilities of lpplayer.
*
* @return Returns HDF_SUCCESS if the operation is successful.
* @return Returns HDF_FAILURE if the execution fails.
@@ -93,5 +79,5 @@ interface ILowPowerPlayerFactory {
* @since 6.0
* @version 1.0
*/
- DestroyAudioSink([in] unsigned int audioSinkId);
+ GetAVCapability([out] struct LppAVCap avCap);
}
\ No newline at end of file
diff --git a/low_power_player/v1_0/ILppSyncManagerAdapter.idl b/low_power_player/v1_0/ILppSyncManagerAdapter.idl
index 025ae9096fa9a21b366f85f4058908f49481d7c2..d7c44cc9bd653e20c91383aef421c22e410ab0c6 100644
--- a/low_power_player/v1_0/ILppSyncManagerAdapter.idl
+++ b/low_power_player/v1_0/ILppSyncManagerAdapter.idl
@@ -166,7 +166,7 @@ interface ILppSyncManagerAdapter {
* @since 6.0
* @version 1.0
*/
- SetTargetStartFrame([in] unsigned long framePts, [in] unsigned int timeoutMs);
+ SetTargetStartFrame([in] long framePts, [in] unsigned int timeoutMs);
/**
* @brief Sets the playback speed.
@@ -243,7 +243,7 @@ interface ILppSyncManagerAdapter {
* @since 6.0
* @version 1.0
*/
- UpdateTimeAnchor([in] unsigned long anchorPts, [in] unsigned long anchorClk);
+ UpdateTimeAnchor([in] long anchorPts, [in] unsigned long anchorClk);
/**
* @brief Binds the output buffers of the decoder.
@@ -300,4 +300,19 @@ interface ILppSyncManagerAdapter {
* @version 1.0
*/
SetTunnelId([in] unsigned long tunnelId);
+
+ /**
+ * @brief Gets the latest pts.
+ *
+ *
+ *
+ * @param pts Indicates the presentation time stamp.
+ *
+ * @return Returns HDF_SUCCESS if the operation is successful.
+ * @return Returns HDF_FAILURE if the execution fails.
+ *
+ * @since 6.0
+ * @version 1.0
+ */
+ GetLatestPts([out] long pts);
}
\ No newline at end of file
diff --git a/low_power_player/v1_0/ILppTypes.idl b/low_power_player/v1_0/ILppTypes.idl
new file mode 100644
index 0000000000000000000000000000000000000000..72473015ad2e3f350b99f383c5e09b5ad16c204a
--- /dev/null
+++ b/low_power_player/v1_0/ILppTypes.idl
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) 2025 Huawei Device Co., Ltd.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * @brief get the lpplayer supported capabilities.
+
+ * @since 6.0
+ * @version 1.0
+ */
+
+/**
+ * @addtogroup LowPowerPlayer
+ * @{
+ *
+ * @ @brief Provides unified APIs for media services to access low power player drivers.
+ *
+ * The media service can obtain a low power player driver object or proxy, and then invoke the
+ * API provided by the object or proxy, The module provides APIs for initializing the custom data
+ * and audio and video codecs, setting parameters, and controlling and transferring data.
+ *
+ * @since 6.0
+ * @version 1.0
+ */
+
+/**
+ * @brief Defines the path for the package of the LowPowerPlayer module APIs.
+ *
+ * @since 6.0
+ * @version 1.0
+ */
+package ohos.hdi.low_power_player.v1_0;
+
+/**
+ * @brief Enumerates the types of HDR.
+ *
+ * @since 6.0
+ * @version 1.0
+ */
+enum HDRType {
+ HDR10,
+ HDR10Plus,
+ HDRVivid
+};
+
+/**
+ * @brief Defines the Video capabilities.
+ *
+ * @since 6.0
+ * @version 1.0
+ */
+struct VideoMimeCap {
+ String mime; /** video/avc, video/hevc */
+ unsigned int minWidth;
+ unsigned int minHeight;
+ unsigned int maxWidth;
+ unsigned int maxHeight;
+ HDRType[] supportHDRTypes; /** HDR10, HDR10+, HDRVivid */
+ unsigned int maxPixelPerSecond;
+ unsigned int maxInstance;
+ boolean isSupportDRM;
+};
+
+/**
+ * @brief Defines the Audio capabilities.
+ *
+ * @since 6.0
+ * @version 1.0
+ */
+struct AudioMimeCap {
+ String mime; /** AAC, Flac, Vorbis, MPEG, G711mu, AMR(amrnb, amrwb), APE */
+ unsigned int sampleRate;
+ unsigned int channelCount;
+};
+
+/**
+ * @brief Defines the LowPowerPlayer capabilities.
+ *
+ * @since 6.0
+ * @version 1.0
+ */
+struct LppAVCap {
+ unsigned int maxInstance;
+ struct VideoMimeCap[] videoCap; /** videoCap */
+ struct AudioMimeCap[] audioCap; /** audioCap */
+};
\ No newline at end of file