Lines Matching defs:sample

182     TestSample *sample;
187 sample = ∈
217 sample->RewindCost = GetCurTimeMs() - sample->RewindBegin;
221 static void CostTestPrintf(TestSample &sample)
225 printf("start cost total:%lld\n", sample.setSourceCost + sample.prepareCost + sample.setSurfaceCost +
226 sample.playCost);
228 sample.newPlayerCost, sample.setSourceCost, sample.prepareCost, sample.setSurfaceCost, sample.playCost);
230 printf("seek cost total:%lld\n", sample.RewindCost);
232 printf("destory cost total:%lld\n", sample.stopCost + sample.releaseCost);
233 printf("stopCost:%lld,\n releaseCost:%lld,\n", sample.stopCost, sample.releaseCost);
248 TestSample *sample = (TestSample *)arg;
250 if (realpath(sample->filePath, resolvedPath) == nullptr) {
261 if (!sample->isThreadRunning) {
265 if (sample->streamSample->GetAvailableBuffer(&buffer) != 0) {
269 data = sample->streamSample->GetBufferAddress(buffer.idx);
277 sample->streamSample->QueueBuffer(buffer.idx, buffer.offset, readLen, 0, 0x8);
279 sample->streamSample->QueueBuffer(buffer.idx, buffer.offset, readLen, 0, 0x4);
286 sample->isThreadRunning = false;
296 TestSample *sample = (TestSample *)arg;
297 FILE* pFile = fopen(sample->filePath, "rb");
302 printf("[%s,%d] file:%s\n", __func__, __LINE__, sample->filePath);
304 pthread_mutex_lock(&sample->mutex);
305 if (!sample->isThreadRunning) {
307 pthread_mutex_unlock(&sample->mutex);
310 pthread_mutex_unlock(&sample->mutex);
311 data = sample->streamSample->GetSharedBuffer(bufferSize);
318 sample->streamSample->QueueSharedBuffer(data, readLen);
320 sample->streamSample->QueueSharedBuffer(data, 0);
326 pthread_mutex_lock(&sample->mutex);
327 sample->isThreadRunning = false;
328 pthread_mutex_unlock(&sample->mutex);
332 static void GetFileSize(TestSample &sample)
334 sample.fileSize = -1;
335 if (sample.sourceType != 1 && sample.sourceType != 0) {
339 FILE *fileTmp = fopen(sample.filePath, "rb");
342 sample.fileSize = ftell(fileTmp);
348 static int SetSurface(TestSample &sample)
350 if (sample.surface != nullptr) {
356 sample.surface = Surface::CreateSurface();
357 if (sample.surface == nullptr) {
361 sample.surface->SetUserData("region_position_x", "0");
362 sample.surface->SetUserData("region_position_y", "0");
363 sample.surface->SetUserData("region_width", "480");
364 sample.surface->SetUserData("region_height", "480");
365 int32_t ret = sample.adapter->SetVideoSurface(sample.surface);
366 sample.setSurfaceCost = GetCurTimeMs() - begin;
373 static void DestorySurface(TestSample &sample)
375 if (sample.surface != nullptr) {
376 delete(sample.surface);
377 sample.surface = nullptr;
381 static int SetCallback(TestSample &sample)
383 if (sample.cb == nullptr) {
384 sample.cb = std::make_shared<PlayerCallbackImpl>(sample);
385 sample.adapter->SetPlayerCallback(sample.cb);
390 static void DestoryCallback(TestSample &sample)
392 if (sample.cb != nullptr) {
393 sample.cb.reset();
394 sample.cb = nullptr;
398 static int SetStreamSourceProcess(TestSample &sample)
400 sample.streamSample = std::make_shared<StreamSourceSample>();
403 Source source(sample.streamSample, formats);
404 sample.adapter->SetSource(source);
405 sample.isThreadRunning = true;
409 int32_t ret = pthread_create(&sample.process, &attr, streamProcess, &sample);
412 sample.isThreadRunning = false;
418 static int SetSourceProcess(TestSample &sample)
421 if (sample.sourceType == 1) {
422 std::string uri(sample.filePath);
425 sample.adapter->SetSource(source);
428 if (lstat(sample.filePath, &stFileState) != 0) {
429 printf("lstat %s failed, please check the file exist, errno:%d\n", sample.filePath, errno);
432 if (SetStreamSourceProcess(sample) != 0) {
437 sample.setSourceCost = GetCurTimeMs() - begin;
441 static int PrepareProcess(TestSample &sample)
445 if (sample.pauseAfterPlay != 0) {
448 sample.adapter->SetParameter(formatSetPauseAfterPlay);
450 sample.adapter->Prepare();
451 sample.prepareCost = GetCurTimeMs() - begin;
453 SetCallback(sample);
454 SetSurface(sample);
458 static int PlayProcess(TestSample &sample)
463 if (sample.pauseAfterPlay != 0) {
464 ret = sample.adapter->Pause();
466 ret = sample.adapter->Play();
468 sample.playCost = GetCurTimeMs() - begin;
475 static int ReleaseProcess(TestSample &sample)
480 if (sample.pauseAfterPlay != 0) {
481 ret = sample.adapter->Pause();
483 ret = sample.adapter->Play();
485 sample.playCost = GetCurTimeMs() - begin;
492 static void EndStreamSourceThread(TestSample &sample)
494 if (sample.sourceType == 0x2 && sample.process != -1) {
495 pthread_mutex_lock(&sample.mutex);
496 sample.isThreadRunning = false;
497 pthread_mutex_unlock(&sample.mutex);
498 pthread_join(sample.process, nullptr);
499 sample.process = -1;
503 static int CreatePlayerProcess(TestSample &sample)
505 SetSourceProcess(sample);
506 PrepareProcess(sample);
507 PlayProcess(sample);
511 static int ReplayProcess(TestSample &sample)
513 EndStreamSourceThread(sample);
514 sample.adapter->Stop();
516 sample.adapter->Release();
517 sample.adapter.reset();
519 DestorySurface(sample);
520 DestoryCallback(sample);
521 if (sample.sourceType == 0x2) {
522 sample.streamSample.reset();
525 sample.adapter = std::make_shared<Player>();
527 return CreatePlayerProcess(sample);
530 static int PlayNextProcess(TestSample &sample)
532 EndStreamSourceThread(sample);
533 sample.adapter->Stop();
534 sample.adapter->Reset();
535 DestorySurface(sample);
536 if (sample.sourceType == 0x2) {
537 sample.streamSample.reset();
540 return CreatePlayerProcess(sample);
543 static int CostTest(TestSample &sample)
545 if (sample.sourceType >= 0x2) {
552 EndStreamSourceThread(sample);
554 sample.adapter->Stop();
556 sample.stopCost = end - begin;
559 sample.adapter->Release();
560 sample.adapter.reset();
561 sample.releaseCost = GetCurTimeMs() - begin;
563 DestorySurface(sample);
564 DestoryCallback(sample);
565 if (sample.sourceType == 0x2) {
566 sample.streamSample.reset();
568 CostTestPrintf(sample);
571 sample.adapter = std::make_shared<Player>();
572 sample.newPlayerCost = GetCurTimeMs() - begin;
574 CreatePlayerProcess(sample);
577 sample.RewindBegin = GetCurTimeMs();
578 sample.adapter->Rewind(0, PlayerSeekMode::PLAYER_SEEK_PREVIOUS_SYNC);
583 static void RunCmdShow(TestSample &sample)
587 printf("player IsPlaying:%d IsSingleLooping:%d\n", sample.adapter->IsPlaying(),
588 sample.adapter->IsSingleLooping());
591 int32_t ret = sample.adapter->GetDuration(duration);
597 ret = sample.adapter->GetCurrentTime(currentPosition);
605 ret = sample.adapter->GetVideoWidth(videoWidth);
609 ret = sample.adapter->GetVideoHeight(videoHeight);
615 ret = sample.adapter->GetPlayerState(state);
622 static void RunCmdSetVolume(TestSample &sample, const char cmd[])
632 int32_t ret = sample.adapter->SetVolume(lvolume, rvolume);
638 static void RunCmdNext(TestSample &sample, const char cmd[])
648 if (PlayNextProcess(sample) != 0) {
657 static void RunCmdPressurePupl(TestSample &sample, const char cmd[])
667 ret = sample.adapter->Pause();
669 ret = sample.adapter->Play();
675 static void RunCmdPressureSeek(TestSample &sample, const char cmd[])
684 if (sample.sourceType == 0x2) {
692 sample.adapter->Rewind(rewindPos, PlayerSeekMode::PLAYER_SEEK_PREVIOUS_SYNC);
693 ret = sample.adapter->GetCurrentTime(currentPosition);
700 static void RunCmdLoop(TestSample &sample, const char cmd[])
710 int32_t ret = sample.adapter->EnableSingleLooping(loop == 1);
717 static void RunCmdSpeed(TestSample &sample, const char cmd[])
725 int32_t ret = sample.adapter->SetPlaybackSpeed(speed);
731 static void RunCmdSeek(TestSample &sample, const char cmd[])
739 int32_t ret = sample.adapter->Rewind(timeMs, PlayerSeekMode::PLAYER_SEEK_PREVIOUS_SYNC);
755 static void RunCmdPlay(TestSample &sample)
757 int32_t ret = sample.adapter->Play();
769 static void SampleCmd(TestSample &sample)
782 ret = sample.adapter->Pause();
784 if (ReplayProcess(sample) != 0) {
789 RunCmdPlay(sample);
791 RunCmdSpeed(sample, cmd);
793 RunCmdSeek(sample, cmd);
795 RunCmdSetVolume(sample, cmd);
797 RunCmdShow(sample);
799 RunCmdLoop(sample, cmd);
801 RunCmdNext(sample, cmd);
803 RunCmdPressurePupl(sample, cmd);
805 RunCmdPressureSeek(sample, cmd);
809 CostTest(sample);
818 static int32_t ParseInputParam(int argc, char **argv, TestSample &sample)
848 pthread_mutex_init(&sample.mutex, nullptr);
849 sample.pauseAfterPlay = pauseAfterPlay;
850 sample.sourceType = sourceType;
852 if ((sourceType == 0 || sourceType == 0x2) && (realpath(argv[1], sample.filePath) == nullptr)) {
856 if (memcpy_s(sample.filePath, PATH_MAX, argv[1], strlen(argv[1]) + 1) != 0) {
864 printf("[%s,%d] sourceType:%d, path:%s, pauseAfterPlay:%d\n", __func__, __LINE__, sourceType, sample.filePath,
871 TestSample sample = {0};
872 sample.process = -1;
874 if (ParseInputParam(argc, argv, sample) != 0) {
878 GetFileSize(sample);
879 sample.adapter = std::make_shared<Player>();
880 SetSourceProcess(sample);
882 if (sample.pauseAfterPlay != 0) {
885 sample.adapter->SetParameter(formatSetPauseAfterPlay);
887 sample.adapter->Prepare();
889 SetCallback(sample);
890 SetSurface(sample);
891 PlayProcess(sample);
895 SampleCmd(sample);
896 EndStreamSourceThread(sample);
897 int32_t ret = sample.adapter->Stop();
900 ret = sample.adapter->Release();
902 DestorySurface(sample);
903 DestoryCallback(sample);
904 pthread_mutex_destroy(&sample.mutex);