2
* GPAC - Multimedia Framework C SDK
4
* Authors: Arash Shafiei
5
* Copyright (c) Telecom ParisTech 2000-2013
8
* This file is part of GPAC / dashcast
10
* GPAC is free software; you can redistribute it and/or modify
11
* it under the terms of the GNU Lesser General Public License as published by
12
* the Free Software Foundation; either version 2, or (at your option)
15
* GPAC is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU Lesser General Public License for more details.
20
* You should have received a copy of the GNU Lesser General Public
21
* License along with this library; see the file COPYING. If not, write to
22
* the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
29
#include <gpac/tools.h>
30
#include <gpac/thread.h>
31
#include <gpac/media_tools.h>
34
#include "video_decoder.h"
35
#include "video_encoder.h"
36
#include "audio_decoder.h"
37
#include "audio_encoder.h"
39
#include "message_queue.h"
42
/* General thread parameters */
46
/* handle to thread */
52
/* Video thread parameters */
56
/* The index in the configuration file to a video entry corresponding to the thread. */
58
/* Video input data structure corresponding to the thread. (This data is shared between video decoder and video scaler) */
59
VideoInputData *video_input_data;
60
/* Video scaled data structure corresponding to the thread. (This data is shared between video scaler and video encoder) */
61
VideoScaledData *video_scaled_data;
62
/* Video input file structure corresponding to the thread */
63
VideoInputFile **video_input_file;
64
/* handle to the thread */
68
MessageQueue *delete_seg_mq;
69
MessageQueue *send_seg_mq;
72
/* Audio thread parameters */
76
/* The index in the configuration file to an audio entry corresponding to the thread */
78
/* Audio input data (This data is shared between audio decoder and audio encoder */
79
AudioInputData *audio_input_data;
80
/* Audio input file structure */
81
AudioInputFile *audio_input_file;
82
/* handle to the thread */
86
MessageQueue *delete_seg_mq;
87
MessageQueue *send_seg_mq;
91
* Run controler runs all decoder, scalers, and encoders
94
* @param cmd_data [in] command data
96
* @return 0 on success, -1 on failure
98
int dc_run_controler(CmdData *);
100
#endif /* CONTROLER_H_ */