1 #ifndef _RTP_SERV_GENERATOR_H_ 2 #define _RTP_SERV_GENERATOR_H_ 3 #include <stdlib.h> 4 5 #include <gpac/ietf.h> 6 #include <gpac/network.h> // sockets 7 #include <gpac/internal/media_dev.h> 8 #include <gpac/thread.h> 9 #include <gpac/scene_engine.h> 10 11 #include <time.h> 12 #define RECV_BUFFER_SIZE_FOR_COMMANDS 262144 13 14 15 /*callback type (allows reentrance)*/ 16 typedef struct tmp_PNC_CallbackData { 17 GF_RTPChannel *chan; 18 GF_RTPHeader *hdr; 19 char * formatedPacket; 20 int formatedPacketLength; 21 GP_RTPPacketizer *rtpBuilder; 22 GF_SceneEngine *codec; 23 24 /* socket on which updates are received */ 25 GF_Socket *socket; 26 GF_Socket *server_socket; 27 /* socket on which bitrate feedback is sent */ 28 GF_Socket *feedback_socket; 29 30 void *extension; 31 32 /* indication that the Access Unit is a RAP */ 33 int RAP; 34 /* RAP counter */ 35 int RAPsent; 36 /* indication that the Access Unit Sequence Number should be increased */ 37 int SAUN_inc; 38 39 GF_Mutex *carrousel_mutex; 40 char buffer[RECV_BUFFER_SIZE_FOR_COMMANDS]; 41 int bufferPosition; 42 int debug; 43 } PNC_CallbackData; 44 45 46 47 #define RTP_SERV_GENERATOR_DEBUG 0x4 48 49 typedef struct tmp_PNC_CallbackExt { 50 int i; 51 int lastTS; 52 } PNC_CallbackExt; 53 54 55 /*exports*/ 56 extern GF_Err PNC_RAP(PNC_CallbackData *data); 57 extern PNC_CallbackData* PNC_Init_SceneGenerator(GF_RTPChannel *p_chan, GF_RTPHeader *p_hdr, char *default_scene, 58 u32 socketType, u16 socketPort, int debug); 59 extern GF_Err PNC_processBIFSGenerator(PNC_CallbackData*); 60 extern void PNC_Close_SceneGenerator(PNC_CallbackData*); 61 62 extern void PNC_SendInitScene(PNC_CallbackData * data); 63 64 #include "RTP_serv_packetizer.h" 65 66 #endif