2014-07-20 14:02:14 +00:00
|
|
|
/* ---------------------------------------------------------------------------
|
|
|
|
** This software is in the public domain, furnished "as is", without technical
|
|
|
|
** support, and with no warranty, express or implied, as to its usefulness for
|
|
|
|
** any purpose.
|
|
|
|
**
|
|
|
|
** ServerMediaSubsession.h
|
|
|
|
**
|
|
|
|
** -------------------------------------------------------------------------*/
|
|
|
|
|
2017-09-16 08:17:22 +00:00
|
|
|
#pragma once
|
2014-07-20 14:02:14 +00:00
|
|
|
|
2016-04-17 16:39:07 +00:00
|
|
|
#include <sys/stat.h>
|
|
|
|
|
2014-07-20 14:02:14 +00:00
|
|
|
#include <string>
|
2015-03-01 22:28:17 +00:00
|
|
|
#include <iomanip>
|
2016-01-16 20:15:14 +00:00
|
|
|
#include <iostream>
|
2016-04-10 15:58:03 +00:00
|
|
|
#include <fstream>
|
2014-07-20 14:02:14 +00:00
|
|
|
|
|
|
|
// live555
|
|
|
|
#include <liveMedia.hh>
|
|
|
|
|
2015-03-07 19:25:52 +00:00
|
|
|
// forward declaration
|
|
|
|
class V4L2DeviceSource;
|
2014-07-20 14:02:14 +00:00
|
|
|
|
|
|
|
// ---------------------------------
|
|
|
|
// BaseServerMediaSubsession
|
|
|
|
// ---------------------------------
|
|
|
|
class BaseServerMediaSubsession
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
BaseServerMediaSubsession(StreamReplicator* replicator): m_replicator(replicator) {};
|
|
|
|
|
|
|
|
public:
|
2016-01-16 20:15:14 +00:00
|
|
|
static FramedSource* createSource(UsageEnvironment& env, FramedSource * videoES, const std::string& format);
|
2018-09-07 21:31:32 +00:00
|
|
|
static RTPSink* createSink(UsageEnvironment& env, Groupsock * rtpGroupsock, unsigned char rtpPayloadTypeIfDynamic, const std::string& format, V4L2DeviceSource* source);
|
2019-08-27 13:19:13 +00:00
|
|
|
char const* getAuxLine(V4L2DeviceSource* source, RTPSink* rtpSink);
|
2014-07-20 14:02:14 +00:00
|
|
|
|
|
|
|
protected:
|
|
|
|
StreamReplicator* m_replicator;
|
|
|
|
};
|
|
|
|
|