areaDetector
3-5-0
EPICS areaDetector framework
|
#include "ffmpegServer.h"
#include "epicsExport.h"
#include "iocsh.h"
#include <epicsExit.h>
#include <epicsThread.h>
#include <time.h>
#include <math.h>
Macros | |
#define | MIN(a, b) (((a) < (b)) ? (a) : (b)) |
Functions | |
void | dorequest (int sid) |
This is called whenever a client requests a stream. More... | |
int | config_read () |
this dummy function is here to satisfy nullhttpd More... | |
void | c_shutdown (void *) |
c function that will be called at epicsExit that shuts down the http server cleanly More... | |
void | ffmpegServerConfigure (int port) |
Configure and start the http server. More... | |
int | ffmpegStreamConfigure (const char *portName, int queueSize, int blockingCallbacks, const char *NDArrayPort, int NDArrayAddr, int maxBuffers, int maxMemory, int priority, int stackSize) |
Configuration routine. More... | |
void | ffmpegServerRegister (void) |
Register ffmpegStreamConfigure and ffmpegServerConfigure for use on iocsh. More... | |
epicsExportRegistrar (ffmpegServerRegister) | |
Author: Diamond Light Source, Copyright 2010
'ffmpegServer' is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
'ffmpegServer' is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with 'ffmpegServer'. If not, see http://www.gnu.org/licenses/.
#define MIN | ( | a, | |
b | |||
) | (((a) < (b)) ? (a) : (b)) |
void c_shutdown | ( | void * | ) |
c function that will be called at epicsExit that shuts down the http server cleanly
int config_read | ( | void | ) |
this dummy function is here to satisfy nullhttpd
void dorequest | ( | int | sid | ) |
This is called whenever a client requests a stream.
epicsExportRegistrar | ( | ffmpegServerRegister | ) |
void ffmpegServerConfigure | ( | int | port | ) |
Configure and start the http server.
Call this before creating any instances of ffmpegStream
port | port number to run the server on. Defaults to 8080 |
void ffmpegServerRegister | ( | void | ) |
Register ffmpegStreamConfigure and ffmpegServerConfigure for use on iocsh.
int ffmpegStreamConfigure | ( | const char * | portName, |
int | queueSize, | ||
int | blockingCallbacks, | ||
const char * | NDArrayPort, | ||
int | NDArrayAddr, | ||
int | maxBuffers, | ||
int | maxMemory, | ||
int | priority, | ||
int | stackSize | ||
) |
Configuration routine.
Called directly, or from the iocsh function, calls ffmpegStream constructor:
Constructor for ffmpegStream; Class representing an mjpg stream served up by ffmpegServer. ffmpegServerConfigure() must be called before creating any instances of this class. ffmpegStreamConfigure() should be used to create an instance in the iocsh. See ffmpegStream.template for more details of usage.
\param portName The name of the asyn port driver to be created. \param queueSize The number of NDArrays that the input queue for this plugin can hold when NDPluginDriverBlockingCallbacks=0. Larger queues can decrease the number of dropped arrays, at the expense of more NDArray buffers being allocated from the underlying driver's NDArrayPool. \param blockingCallbacks Initial setting for the NDPluginDriverBlockingCallbacks flag. 0=callbacks are queued and executed by the callback thread; 1 callbacks execute in the thread of the driver doing the callbacks. \param NDArrayPort Name of asyn port driver for initial source of NDArray callbacks. \param NDArrayAddr asyn port driver address for initial source of NDArray callbacks. \param maxBuffers The maximum number of NDArray buffers that the NDArrayPool for this driver is allowed to allocate. Set this to -1 to allow an unlimited number of buffers. \param maxMemory The maximum amount of memory that the NDArrayPool for this driver is allowed to allocate. Set this to -1 to allow an unlimited amount of memory. \param priority The thread priority for the asyn port driver thread if ASYN_CANBLOCK is set in asynFlags. \param stackSize The stack size for the asyn port driver thread if ASYN_CANBLOCK is set in asynFlags.