/*************************************************************************************** * * IMPORTANT: READ BEFORE DOWNLOADING, COPYING, INSTALLING OR USING. * * By downloading, copying, installing or using the software you agree to this license. * If you do not agree to this license, do not download, install, * copy or use the software. * * Copyright (C) 2014-2024, Happytimesoft Corporation, all rights reserved. * * Redistribution and use in binary forms, with or without modification, are permitted. * * 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. * ****************************************************************************************/ #ifndef RTMP_PLAYER_H #define RTMP_PLAYER_H #include "video_player.h" #include "rtmp_cln.h" class CRtmpPlayer : public CVideoPlayer { public: CRtmpPlayer(); virtual ~CRtmpPlayer(); BOOL open(std::string fileName); BOOL open(std::string _username, std::string _password, std::string _url); void close(); BOOL play(); void stop(); BOOL pause(); BOOL seek(int pos); int64 getElapse(); int64 getDuration(); int getVideoCodec(); int getAudioCodec(); void setBbox(cv::Rect bbox); void setCrop(bool crop); void onNotify(int evt); void onAudio(uint8 * pdata, int len, uint32 ts); void onVideo(uint8 * pdata, int len, uint32 ts); BOOL onRecord(); private: char m_ip[32]; CRtmpClient m_rtmp; std::string createNewRTMPUrl(const std::string& username, const std::string& password, const std::string& url); }; #endif