/*
* Copyright (c) 2010-2019 Belledonne Communications SARL.
*
* This file is part of mediastreamer2.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program 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 General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
#ifndef MS_TICKER_H
#define MS_TICKER_H
#include
/**
* @file msticker.h
* @brief mediastreamer2 msticker.h include file
*
* This file provide the API needed to create, start
* and stop a graph.
*
*/
/**
* @addtogroup mediastreamer2_ticker
* @{
*/
/**
* Function pointer for method getting time in miliseconds from an external source.
* @var MSTickerTimeFunc
*/
typedef uint64_t (*MSTickerTimeFunc)(void *);
/**
* Function pointer for method waiting next tick from an external source.
* @var MSTickerTickFunc
* It shall return the number of late milliseconds, if this value is known.
*/
typedef int (*MSTickerTickFunc)(void *, uint64_t ticker_virtual_time);
/**
* Enum for ticker priority
**/
enum _MSTickerPrio{
MS_TICKER_PRIO_NORMAL, /**