1818
1919#include " MediaEngineWrapper.h"
2020#include " MediaFoundationHelpers.h"
21+ #include " audioplayers_helpers.h"
2122#include < Audioclient.h>
2223
2324using namespace Microsoft ::WRL ;
@@ -143,15 +144,14 @@ void MediaEngineWrapper::Shutdown()
143144 });
144145}
145146
146- void MediaEngineWrapper::StartPlayingFrom (uint64_t timeStamp )
147+ void MediaEngineWrapper::StartPlayingFrom (double timestampInSeconds )
147148{
148149 RunSyncInMTA ([&]()
149150 {
150151 auto lock = m_lock.lock ();
151152 if (m_mediaEngine == nullptr ) {
152153 return ;
153154 }
154- const double timestampInSeconds = ConvertHnsToSeconds (timeStamp);
155155 THROW_IF_FAILED (m_mediaEngine->SetCurrentTime (timestampInSeconds));
156156 THROW_IF_FAILED (m_mediaEngine->Play ());
157157 });
@@ -233,52 +233,52 @@ bool MediaEngineWrapper::GetLooping()
233233 return looping;
234234}
235235
236- void MediaEngineWrapper::SeekTo (uint64_t timeStamp )
236+ void MediaEngineWrapper::SeekTo (double timestampInSeconds )
237237{
238238 RunSyncInMTA ([&]()
239239 {
240240 auto lock = m_lock.lock ();
241241 if (m_mediaEngine == nullptr ) {
242242 return ;
243243 }
244- const double timestampInSeconds = ConvertHnsToSeconds (timeStamp);
245244 THROW_IF_FAILED (m_mediaEngine->SetCurrentTime (timestampInSeconds));
246245 });
247246}
248247
249- uint64_t MediaEngineWrapper::GetMediaTime ()
248+ // Get media time in seconds
249+ double MediaEngineWrapper::GetMediaTime ()
250250{
251- uint64_t currentTimeInHns = 0 ;
251+ double currentTimeInSeconds = 0 ;
252252 RunSyncInMTA ([&]()
253253 {
254254 auto lock = m_lock.lock ();
255255 if (m_mediaEngine == nullptr ) {
256256 return ;
257257 }
258- double currentTimeInSeconds = m_mediaEngine->GetCurrentTime ();
259- currentTimeInHns = ConvertSecondsToHns (currentTimeInSeconds);
258+ currentTimeInSeconds = m_mediaEngine->GetCurrentTime ();
260259 });
261- return currentTimeInHns ;
260+ return currentTimeInSeconds ;
262261}
263262
264- uint64_t MediaEngineWrapper::GetDuration ()
263+ // Get duration in seconds
264+ double MediaEngineWrapper::GetDuration ()
265265{
266- uint64_t durationInHns = 0 ;
266+ double durationInSeconds = 0 ;
267267 RunSyncInMTA ([&]()
268268 {
269269 auto lock = m_lock.lock ();
270270 if (m_mediaEngine == nullptr ) {
271271 return ;
272272 }
273- double durationInSeconds = m_mediaEngine->GetDuration ();
274- durationInHns = ConvertSecondsToHns (durationInSeconds);
273+ durationInSeconds = m_mediaEngine->GetDuration ();
275274 });
276- return durationInHns ;
275+ return durationInSeconds ;
277276}
278277
279- std::vector<std::tuple<uint64_t , uint64_t >> MediaEngineWrapper::GetBufferedRanges ()
278+ // Get buffered ranges in milliseconds
279+ std::vector<std::tuple<int64_t , int64_t >> MediaEngineWrapper::GetBufferedRanges ()
280280{
281- std::vector<std::tuple<uint64_t , uint64_t >> result;
281+ std::vector<std::tuple<int64_t , int64_t >> result;
282282 RunSyncInMTA ([&]()
283283 {
284284 auto lock = m_lock.lock ();
@@ -296,7 +296,7 @@ std::vector<std::tuple<uint64_t, uint64_t>> MediaEngineWrapper::GetBufferedRange
296296 {
297297 mediaTimeRange->GetStart (i, &start);
298298 mediaTimeRange->GetEnd (i, &end);
299- result.push_back (std::make_tuple (ConvertSecondsToHns (start), ConvertSecondsToHns (end)));
299+ result.push_back (std::make_tuple (ConvertSecondsToMs (start), ConvertSecondsToMs (end)));
300300 }
301301 });
302302 return result;
0 commit comments