Skip to content

Commit

Permalink
feat(mediaplayer): add InvokeComponent api
Browse files Browse the repository at this point in the history
Signed-off-by: pingkai <pingkai010@gmail.com>
  • Loading branch information
pingkai committed Jun 29, 2020
1 parent e71e45f commit 79278d1
Show file tree
Hide file tree
Showing 8 changed files with 40 additions and 0 deletions.
13 changes: 13 additions & 0 deletions cmdline/cicadaPlayer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
#include <SDL2/SDL.h>
#include <SDL2/SDL_main.h>
#endif
#include <utils/CicadaJSON.h>
using namespace Cicada;
using namespace std;

Expand Down Expand Up @@ -62,6 +63,18 @@ static void onEvent(int64_t errorCode, const void *errorMsg, void *userData)
cont->player->Reload();
break;

case MediaPlayerEventType::MEDIA_PLAYER_EVENT_DIRECT_COMPONENT_MSG: {
AF_LOGI("get a dca message %s\n", errorMsg);
CicadaJSONItem msg((char *) errorMsg);
if (msg.getString("content", "") == "hello") {
msg.deleteItem("content");
msg.addValue("content", "hi");
msg.addValue("cmd", 0);
cont->player->InvokeComponent(msg.printJSON());
}
break;
}

default:
break;
}
Expand Down
2 changes: 2 additions & 0 deletions mediaPlayer/ICicadaPlayer.h
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,8 @@ namespace Cicada {

virtual bool IsAutoPlay() = 0;

virtual int invokeComponent(std::string content) = 0;

protected:
playerMediaFrameCb mMediaFrameCb = nullptr;
void *mMediaFrameCbArg = nullptr;
Expand Down
5 changes: 5 additions & 0 deletions mediaPlayer/MediaPlayer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1137,4 +1137,9 @@ namespace Cicada {
int value = mode;
CicadaSetOption(handle, "fastStart", to_string(value).c_str());
}
int MediaPlayer::InvokeComponent(const std::string &content)
{
GET_PLAYER_HANDLE;
return CicadaInvokeComponent(handle, content.c_str());
}
}
2 changes: 2 additions & 0 deletions mediaPlayer/MediaPlayer.h
Original file line number Diff line number Diff line change
Expand Up @@ -334,6 +334,8 @@ namespace Cicada {

void SetDefaultBandWidth(int bandWidth);

int InvokeComponent(const std::string &content);

protected:
static void preparedCallback(void *userData);

Expand Down
4 changes: 4 additions & 0 deletions mediaPlayer/SuperMediaPlayer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4242,4 +4242,8 @@ namespace Cicada {
mFrameCb = cb;
mFrameCbUserData = userData;
}
int SuperMediaPlayer::invokeComponent(std::string content)
{
return mDcaManager.invoke(content);
}
}//namespace Cicada
2 changes: 2 additions & 0 deletions mediaPlayer/SuperMediaPlayer.h
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,8 @@ namespace Cicada {

int selectExtSubtitle(int index, bool bSelect) override;

int invokeComponent(std::string content) override;

private:
void NotifyPosition(int64_t position);

Expand Down
10 changes: 10 additions & 0 deletions mediaPlayer/media_player_api.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -581,6 +581,16 @@ void CicadaSetDefaultBandWidth(playerHandle *pHandle, int bandWidth)
}
}

int CicadaInvokeComponent(playerHandle *pHandle, const char *content)
{
GET_PLAYER;
if (player) {
return player->invokeComponent(content);
}

return 0;
}

void CicadaSetMediaFrameCb(playerHandle *pHandle, playerMediaFrameCb func, void *arg)
{
GET_PLAYER;
Expand Down
2 changes: 2 additions & 0 deletions mediaPlayer/media_player_api.h
Original file line number Diff line number Diff line change
Expand Up @@ -281,4 +281,6 @@ void CicadaReload(playerHandle *pHandle);

void CicadaSetDefaultBandWidth(playerHandle *player, int bandWidth);

int CicadaInvokeComponent(playerHandle *player, const char *content);

#endif // CICADA_PLAYER_H_

0 comments on commit 79278d1

Please sign in to comment.