diff --git a/libeplayer3-arm/container/container.c b/libeplayer3-arm/container/container.c index de71ef8..3f56f21 100644 --- a/libeplayer3-arm/container/container.c +++ b/libeplayer3-arm/container/container.c @@ -98,9 +98,8 @@ static int32_t selectContainer(Context_t *context, char *extension) return ret; } -static int Command(void *_context, ContainerCmd_t command, void *argument) +static int Command(Context_t *context, ContainerCmd_t command, void *argument __attribute__((unused))) { - Context_t *context = (Context_t *) _context; int ret = 0; container_printf(10, "%s::%s\n", __FILE__, __FUNCTION__); diff --git a/libeplayer3-arm/container/container_ffmpeg.c b/libeplayer3-arm/container/container_ffmpeg.c index a87f80d..5a68181 100644 --- a/libeplayer3-arm/container/container_ffmpeg.c +++ b/libeplayer3-arm/container/container_ffmpeg.c @@ -42,12 +42,6 @@ #include #include -#include -#include -#include -#include -#include - #include #include "common.h" @@ -56,10 +50,12 @@ #include "aac.h" #include "pcm.h" #include "ffmpeg_metadata.h" + /* ***************************** */ /* Makros/Constants */ /* ***************************** */ -#if (LIBAVFORMAT_VERSION_MAJOR > 57) + +#if (LIBAVFORMAT_VERSION_MAJOR > 56) #define TS_BYTES_SEEKING 0 #else #define TS_BYTES_SEEKING 1 @@ -1302,7 +1298,7 @@ int32_t container_ffmpeg_init_av_context(Context_t *context, char *filename, int void *opaque = NULL; const char *protoName = NULL; uint8_t haveNativeProto = 0; - while (protoName = avio_enum_protocols(&opaque, 1)) + while ((protoName = avio_enum_protocols(&opaque, 1))) { if (0 == strcmp("rtmp", protoName)) { @@ -2581,12 +2577,14 @@ static int container_ffmpeg_get_metadata(Context_t * context, char ***p) size_t psize = 1; char **pp; - if (!context) { + if (!context) + { fprintf(stderr, "BUG %s:%d\n", __func__, __LINE__); return cERR_CONTAINER_FFMPEG_ERR; } - if (!p || *p) { + if (!p || *p) + { fprintf(stderr, "BUG %s:%d\n", __func__, __LINE__); return cERR_CONTAINER_FFMPEG_ERR; } @@ -2602,28 +2600,34 @@ static int container_ffmpeg_get_metadata(Context_t * context, char ***p) psize += av_dict_count(((AVStream *)(audioTrack->stream))->metadata); *p = malloc(sizeof(char *) * psize * 2); - if (!*p) { + if (!*p) + { fprintf(stderr, "MALLOC %s:%d\n", __func__, __LINE__); return cERR_CONTAINER_FFMPEG_ERR; } pp = *p; if (avContextTab[0]->metadata) - while ((tag = av_dict_get(avContextTab[0]->metadata, "", tag, AV_DICT_IGNORE_SUFFIX))) { + while ((tag = av_dict_get(avContextTab[0]->metadata, "", tag, AV_DICT_IGNORE_SUFFIX))) + { *pp++ = strdup(tag->key); *pp++ = strdup(tag->value); } - if (videoTrack) { + if (videoTrack) + { tag = NULL; - while ((tag = av_dict_get(((AVStream *)(videoTrack->stream))->metadata, "", tag, AV_DICT_IGNORE_SUFFIX))) { + while ((tag = av_dict_get(((AVStream *)(videoTrack->stream))->metadata, "", tag, AV_DICT_IGNORE_SUFFIX))) + { *pp++ = strdup(tag->key); *pp++ = strdup(tag->value); } } - if (audioTrack) { + if (audioTrack) + { tag = NULL; - while ((tag = av_dict_get(((AVStream *)(audioTrack->stream))->metadata, "", tag, AV_DICT_IGNORE_SUFFIX))) { + while ((tag = av_dict_get(((AVStream *)(audioTrack->stream))->metadata, "", tag, AV_DICT_IGNORE_SUFFIX))) + { *pp++ = strdup(tag->key); *pp++ = strdup(tag->value); } @@ -2634,9 +2638,8 @@ static int container_ffmpeg_get_metadata(Context_t * context, char ***p) return cERR_CONTAINER_FFMPEG_NO_ERROR; } -static int32_t Command(void *_context, ContainerCmd_t command, void *argument) +static int32_t Command(Context_t *context, ContainerCmd_t command, void *argument) { - Context_t *context = (Context_t *) _context; int ret = cERR_CONTAINER_FFMPEG_NO_ERROR; ffmpeg_printf(50, "Command %d\n", command); if (command != CONTAINER_SET_BUFFER_SEEK_TIME && diff --git a/libeplayer3-arm/include/container.h b/libeplayer3-arm/include/container.h index 5a4b5fd..a8a87e0 100644 --- a/libeplayer3-arm/include/container.h +++ b/libeplayer3-arm/include/container.h @@ -28,10 +28,13 @@ typedef enum CONTAINER_GET_METADATA } ContainerCmd_t; +struct Context_s; +typedef struct Context_s Context_t; + typedef struct Container_s { char *Name; - int (* Command)(/*Context_t*/void *, ContainerCmd_t, void *); + int (* Command)(Context_t *, ContainerCmd_t, void *); char **Capabilities; } Container_t; @@ -43,7 +46,7 @@ typedef struct ContainerHandler_s char *Name; Container_t *selectedContainer; - int (* Command)(/*Context_t*/void *, ContainerCmd_t, void *); + int (* Command)(Context_t *, ContainerCmd_t, void *); } ContainerHandler_t; #endif diff --git a/libeplayer3-arm/include/manager.h b/libeplayer3-arm/include/manager.h index 0d9fd76..d5eea58 100644 --- a/libeplayer3-arm/include/manager.h +++ b/libeplayer3-arm/include/manager.h @@ -4,6 +4,12 @@ #include #include +#include +#include +#include +#include +#include + typedef enum { MANAGER_ADD, @@ -54,11 +60,11 @@ typedef struct Track_s int32_t aspect_ratio_den; /* stream from ffmpeg */ - void *stream; + AVStream *stream; /* AVCodecContext for steam */ void *avCodecCtx; /* codec extra data (header or some other stuff) */ - void *extraData; + uint8_t *extraData; int extraSize; uint8_t *aacbuf; @@ -88,10 +94,13 @@ typedef struct TrackDescription_s int progressive; } TrackDescription_t; +struct Context_s; +typedef struct Context_s Context_t; + typedef struct Manager_s { char *Name; - int (* Command)(/*Context_t*/void *, ManagerCmd_t, void *); + int (* Command)(Context_t *, ManagerCmd_t, void *); char **Capabilities; } Manager_t; diff --git a/libeplayer3-arm/include/output.h b/libeplayer3-arm/include/output.h index dd0bb93..ac0c0bf 100644 --- a/libeplayer3-arm/include/output.h +++ b/libeplayer3-arm/include/output.h @@ -64,11 +64,14 @@ typedef struct char *type; } SubtitleOut_t; +struct Context_s; +typedef struct Context_s Context_t; + typedef struct Output_s { char *Name; - int32_t (* Command)(/*Context_t*/void *, OutputCmd_t, void *); - int32_t (* Write)(/*Context_t*/void *, void *privateData); + int32_t (* Command)(Context_t *, OutputCmd_t, void *); + int32_t (* Write)(Context_t *, void *privateData); char **Capabilities; } Output_t; @@ -81,7 +84,7 @@ typedef struct OutputHandler_s Output_t *audio; Output_t *video; Output_t *subtitle; - int32_t (* Command)(/*Context_t*/void *, OutputCmd_t, void *); + int32_t (* Command)(Context_t *, OutputCmd_t, void *); } OutputHandler_t; #endif diff --git a/libeplayer3-arm/include/playback.h b/libeplayer3-arm/include/playback.h index 5e80c8c..e817e38 100644 --- a/libeplayer3-arm/include/playback.h +++ b/libeplayer3-arm/include/playback.h @@ -26,6 +26,9 @@ typedef enum { PLAYBACK_METADATA } PlaybackCmd_t; +struct Context_s; +typedef struct Context_s Context_t; + typedef struct PlaybackHandler_s { char *Name; @@ -51,7 +54,7 @@ typedef struct PlaybackHandler_s uint8_t isSubtitle; uint8_t abortRequested; - int32_t (* Command)(/*Context_t*/void *, PlaybackCmd_t, void *); + int32_t (* Command)(Context_t *, PlaybackCmd_t, void *); char *uri; off_t size; uint8_t noprobe; /* hack: only minimal probing in av_find_stream_info */ diff --git a/libeplayer3-arm/include/writer.h b/libeplayer3-arm/include/writer.h index b50c158..c027899 100644 --- a/libeplayer3-arm/include/writer.h +++ b/libeplayer3-arm/include/writer.h @@ -10,11 +10,11 @@ typedef enum { eNone, eAudio, eVideo} eWriterType_t; typedef struct { int fd; - unsigned char *data; + uint8_t *data; unsigned int len; - unsigned long long int Pts; + uint64_t Pts; unsigned long long int Dts; - unsigned char *private_data; + uint8_t *private_data; unsigned int private_size; unsigned int FrameRate; unsigned int FrameScale; @@ -38,7 +38,7 @@ typedef struct WriterCaps_s typedef struct Writer_s { int (* reset)(); - int (* writeData)(void *); + int (* writeData)(WriterAVCallData_t *); WriterCaps_t *caps; } Writer_t; diff --git a/libeplayer3-arm/manager/audio.c b/libeplayer3-arm/manager/audio.c index a29687e..c527480 100644 --- a/libeplayer3-arm/manager/audio.c +++ b/libeplayer3-arm/manager/audio.c @@ -71,7 +71,7 @@ if (debug_level >= level) printf("[%s:%s] \n" fmt, __FILE__, __FUNCTION__, ## x) static Track_t *Tracks = NULL; static int TrackCount = 0; -static int CurrentTrack = 0; //TRACK[0] as default. +static int CurrentTrack = 0; //TRACK[0] as default. /* ***************************** */ /* Prototypes */ @@ -212,9 +212,8 @@ static int ManagerDel(Context_t *context) return cERR_AUDIO_MGR_NO_ERROR; } -static int Command(void *_context, ManagerCmd_t command, void *argument) +static int Command(Context_t *context, ManagerCmd_t command, void *argument) { - Context_t *context = (Context_t *) _context; int ret = cERR_AUDIO_MGR_NO_ERROR; audio_mgr_printf(10, "%s::%s\n", __FILE__, __FUNCTION__); switch (command) @@ -228,7 +227,8 @@ static int Command(void *_context, ManagerCmd_t command, void *argument) case MANAGER_LIST: { container_ffmpeg_update_tracks(context, context->playback->uri, 0); - *((TrackDescription_t **)argument) = ManagerList(context); +// *((TrackDescription_t **)argument) = ManagerList(context); + *((char ** *) argument) = (char **) ManagerList(context); break; } case MANAGER_GET: @@ -269,7 +269,7 @@ static int Command(void *_context, ManagerCmd_t command, void *argument) audio_mgr_printf(20, "%s::%s MANAGER_GET_TRACK\n", __FILE__, __FUNCTION__); if ((TrackCount > 0) && (CurrentTrack >= 0)) { - *((Track_t **)argument) = (Track_t *) &Tracks[CurrentTrack]; + *((Track_t **)argument) = (Track_t *) & Tracks[CurrentTrack]; } else { diff --git a/libeplayer3-arm/manager/chapter.c b/libeplayer3-arm/manager/chapter.c index c09a0f2..14167a9 100644 --- a/libeplayer3-arm/manager/chapter.c +++ b/libeplayer3-arm/manager/chapter.c @@ -66,7 +66,7 @@ static const char FILENAME[] = __FILE__; static Track_t *Tracks = NULL; static int TrackCount = 0; -static int CurrentTrack = 0; //TRACK[0] as default. +static int CurrentTrack = 0; //TRACK[0] as default. /* ***************************** */ /* Prototypes */ @@ -76,7 +76,7 @@ static int CurrentTrack = 0; //TRACK[0] as default. /* Functions */ /* ***************************** */ -static int ManagerAdd(Context_t * context __attribute__((unused)), Track_t track) +static int ManagerAdd(Context_t *context __attribute__((unused)), Track_t track) { chapter_mgr_printf(10, "%s::%s\n", FILENAME, __FUNCTION__); @@ -121,7 +121,7 @@ static int ManagerAdd(Context_t * context __attribute__((unused)), Track_t track return cERR_CHAPTER_MGR_NO_ERROR; } -static char **ManagerList(Context_t * context __attribute__ ((unused))) +static char **ManagerList(Context_t *context __attribute__((unused))) { int i = 0, j = 0; char **tracklist = NULL; @@ -157,7 +157,7 @@ static char **ManagerList(Context_t * context __attribute__ ((unused))) return tracklist; } -static int ManagerDel(Context_t * context __attribute__((unused))) +static int ManagerDel(Context_t *context __attribute__((unused))) { int i = 0; diff --git a/libeplayer3-arm/manager/subtitle.c b/libeplayer3-arm/manager/subtitle.c index 4b64cd6..4cff07c 100644 --- a/libeplayer3-arm/manager/subtitle.c +++ b/libeplayer3-arm/manager/subtitle.c @@ -69,7 +69,7 @@ if (debug_level >= level) printf(x); } while (0) static Track_t *Tracks = NULL; static int TrackCount = 0; -static int CurrentTrack = -1; //no as default. +static int CurrentTrack = -1; //no as default. /* ***************************** */ /* Prototypes */ @@ -256,7 +256,7 @@ static int Command(Context_t *context, ManagerCmd_t command, void *argument) { if ((TrackCount > 0) && (CurrentTrack >= 0)) { - *((Track_t **)argument) = (Track_t *) &Tracks[CurrentTrack]; + *((Track_t **)argument) = (Track_t *) & Tracks[CurrentTrack]; } else { diff --git a/libeplayer3-arm/manager/video.c b/libeplayer3-arm/manager/video.c index 1c8fcc3..adaa841 100644 --- a/libeplayer3-arm/manager/video.c +++ b/libeplayer3-arm/manager/video.c @@ -69,7 +69,7 @@ if (debug_level >= level) printf(x); } while (0) static Track_t *Tracks = NULL; static int TrackCount = 0; -static int CurrentTrack = 0; //TRACK[0] as default. +static int CurrentTrack = 0; //TRACK[0] as default. static void (* updatedTrackInfoFnc)(void) = NULL; @@ -181,9 +181,8 @@ static int ManagerDel(Context_t *context) return cERR_VIDEO_MGR_NO_ERROR; } -static int Command(void *_context, ManagerCmd_t command, void *argument) +static int Command(Context_t *context, ManagerCmd_t command, void *argument) { - Context_t *context = (Context_t *) _context; int ret = cERR_VIDEO_MGR_NO_ERROR; video_mgr_printf(10, "%s::%s\n", __FILE__, __FUNCTION__); switch (command) @@ -243,7 +242,7 @@ static int Command(void *_context, ManagerCmd_t command, void *argument) video_mgr_printf(20, "%s::%s MANAGER_GET_TRACK\n", __FILE__, __FUNCTION__); if ((TrackCount > 0) && (CurrentTrack >= 0)) { - *((Track_t **)argument) = (Track_t *) &Tracks[CurrentTrack]; + *((Track_t **)argument) = (Track_t *) & Tracks[CurrentTrack]; } else { diff --git a/libeplayer3-arm/output/linuxdvb_mipsel.c b/libeplayer3-arm/output/linuxdvb_mipsel.c index 56cbc91..1699f7d 100644 --- a/libeplayer3-arm/output/linuxdvb_mipsel.c +++ b/libeplayer3-arm/output/linuxdvb_mipsel.c @@ -228,9 +228,9 @@ int LinuxDvbPlay(Context_t *context, char *type) /* if (0 != ioctl(videofd, VIDEO_STOP)) { - linuxdvb_err("ioctl failed with errno %d\n", errno); - linuxdvb_err("VIDEO_STOP: %s\n", strerror(errno)); - ret = cERR_LINUXDVB_ERROR; + linuxdvb_err("ioctl failed with errno %d\n", errno); + linuxdvb_err("VIDEO_STOP: %s\n", strerror(errno)); + ret = cERR_LINUXDVB_ERROR; } */ if (writer == NULL) @@ -276,9 +276,9 @@ int LinuxDvbPlay(Context_t *context, char *type) /* if (0 != ioctl(audiofd, AUDIO_STOP)) { - linuxdvb_err("ioctl failed with errno %d\n", errno); - linuxdvb_err("AUDIO_STOP: %s\n", strerror(errno)); - ret = cERR_LINUXDVB_ERROR; + linuxdvb_err("ioctl failed with errno %d\n", errno); + linuxdvb_err("AUDIO_STOP: %s\n", strerror(errno)); + ret = cERR_LINUXDVB_ERROR; } */ if (writer == NULL) @@ -347,11 +347,13 @@ int LinuxDvbStop(Context_t *context __attribute__((unused)), char *type) linuxdvb_err("AUDIO_CLEAR_BUFFER: %s\n", strerror(errno)); } /* set back to normal speed (end trickmodes) */ - // if (ioctl(audiofd, AUDIO_SET_SPEED, DVB_SPEED_NORMAL_PLAY) == -1) - // { - // linuxdvb_err("ioctl failed with errno %d\n", errno); - // linuxdvb_err("AUDIO_SET_SPEED: %s\n", strerror(errno)); - // } + /* + if (ioctl(audiofd, AUDIO_SET_SPEED, DVB_SPEED_NORMAL_PLAY) == -1) + { + linuxdvb_err("ioctl failed with errno %d\n", errno); + linuxdvb_err("AUDIO_SET_SPEED: %s\n", strerror(errno)); + } + */ if (ioctl(audiofd, AUDIO_STOP) == -1) { linuxdvb_err("ioctl failed with errno %d\n", errno); @@ -428,14 +430,16 @@ int LinuxDvbContinue(Context_t *context __attribute__((unused)), char *type) int LinuxDvbReverseDiscontinuity(Context_t *context __attribute__((unused)), int *surplus __attribute__((unused))) { int ret = cERR_LINUXDVB_NO_ERROR; - // int dis_type = VIDEO_DISCONTINUITY_CONTINUOUS_REVERSE | *surplus; - // linuxdvb_printf(50, "\n"); - // if (ioctl(videofd, VIDEO_DISCONTINUITY, (void*) dis_type) == -1) - // { - // linuxdvb_err("ioctl failed with errno %d\n", errno); - // linuxdvb_err("VIDEO_DISCONTINUITY: %s\n", strerror(errno)); - // } - // linuxdvb_printf(50, "exiting\n"); + /* + int dis_type = VIDEO_DISCONTINUITY_CONTINUOUS_REVERSE | *surplus; + linuxdvb_printf(50, "\n"); + if (ioctl(videofd, VIDEO_DISCONTINUITY, (void *) dis_type) == -1) + { + linuxdvb_err("ioctl failed with errno %d\n", errno); + linuxdvb_err("VIDEO_DISCONTINUITY: %s\n", strerror(errno)); + } + linuxdvb_printf(50, "exiting\n"); + */ return ret; } @@ -476,28 +480,33 @@ int LinuxDvbAudioMute(Context_t *context __attribute__((unused)), char *flag) int LinuxDvbFlush(Context_t *context __attribute__((unused)), char *type __attribute__((unused))) { - // unsigned char video = !strcmp("video", type); - // unsigned char audio = !strcmp("audio", type); - // linuxdvb_printf(10, "v%d a%d\n", video, audio); - // if ((video && videofd != -1) || (audio && audiofd != -1)) { - // getLinuxDVBMutex(FILENAME, __FUNCTION__,__LINE__); - // if (video && videofd != -1) { - // if (ioctl(videofd, VIDEO_FLUSH, NULL) == -1) - // { - // linuxdvb_err("ioctl failed with errno %d\n", errno); - // linuxdvb_err("VIDEO_FLUSH: %s\n", strerror(errno)); - // } - // } - // if (audio && audiofd != -1) { - // if (ioctl(audiofd, AUDIO_FLUSH, NULL) == -1) - // { - // linuxdvb_err("ioctl failed with errno %d\n", errno); - // linuxdvb_err("AUDIO_FLUSH: %s\n", strerror(errno)); - // } - // } - // releaseLinuxDVBMutex(FILENAME, __FUNCTION__,__LINE__); - // } - // linuxdvb_printf(10, "exiting\n"); + /* + unsigned char video = !strcmp("video", type); + unsigned char audio = !strcmp("audio", type); + linuxdvb_printf(10, "v%d a%d\n", video, audio); + if ((video && videofd != -1) || (audio && audiofd != -1)) + { + getLinuxDVBMutex(FILENAME, __FUNCTION__, __LINE__); + if (video && videofd != -1) + { + if (ioctl(videofd, VIDEO_FLUSH, NULL) == -1) + { + linuxdvb_err("ioctl failed with errno %d\n", errno); + linuxdvb_err("VIDEO_FLUSH: %s\n", strerror(errno)); + } + } + if (audio && audiofd != -1) + { + if (ioctl(audiofd, AUDIO_FLUSH, NULL) == -1) + { + linuxdvb_err("ioctl failed with errno %d\n", errno); + linuxdvb_err("AUDIO_FLUSH: %s\n", strerror(errno)); + } + } + releaseLinuxDVBMutex(FILENAME, __FUNCTION__, __LINE__); + } + linuxdvb_printf(10, "exiting\n"); + */ return cERR_LINUXDVB_NO_ERROR; } @@ -546,12 +555,14 @@ int LinuxDvbFastForward(Context_t *context, char *type) getLinuxDVBMutex(FILENAME, __FUNCTION__, __LINE__); speedIndex = context->playback->Speed % (sizeof(SpeedList) / sizeof(int)); linuxdvb_printf(1, "speedIndex %d\n", speedIndex); - // if (ioctl(videofd, VIDEO_SET_SPEED, SpeedList[speedIndex]) == -1) - // { - // linuxdvb_err("ioctl failed with errno %d\n", errno); - // linuxdvb_err("VIDEO_SET_SPEED: %s\n", strerror(errno)); - // ret = cERR_LINUXDVB_ERROR; - // } + /* + if (ioctl(videofd, VIDEO_SET_SPEED, SpeedList[speedIndex]) == -1) + { + linuxdvb_err("ioctl failed with errno %d\n", errno); + linuxdvb_err("VIDEO_SET_SPEED: %s\n", strerror(errno)); + ret = cERR_LINUXDVB_ERROR; + } + */ releaseLinuxDVBMutex(FILENAME, __FUNCTION__, __LINE__); } if (audio && audiofd != -1) @@ -559,12 +570,14 @@ int LinuxDvbFastForward(Context_t *context, char *type) getLinuxDVBMutex(FILENAME, __FUNCTION__, __LINE__); speedIndex = context->playback->Speed % (sizeof(SpeedList) / sizeof(int)); linuxdvb_printf(1, "speedIndex %d\n", speedIndex); - // if (ioctl(audiofd, AUDIO_SET_SPEED, SpeedList[speedIndex]) == -1) - // { - // linuxdvb_err("ioctl failed with errno %d\n", errno); - // linuxdvb_err("AUDIO_SET_SPEED: %s\n", strerror(errno)); - // ret = cERR_LINUXDVB_ERROR; - // } + /* + if (ioctl(audiofd, AUDIO_SET_SPEED, SpeedList[speedIndex]) == -1) + { + linuxdvb_err("ioctl failed with errno %d\n", errno); + linuxdvb_err("AUDIO_SET_SPEED: %s\n", strerror(errno)); + ret = cERR_LINUXDVB_ERROR; + } + */ releaseLinuxDVBMutex(FILENAME, __FUNCTION__, __LINE__); } linuxdvb_printf(10, "exiting with value %d\n", ret); @@ -728,11 +741,13 @@ int LinuxDvbSwitch(Context_t *context, char *type) if (writer == NULL) { linuxdvb_err("cannot found writer for encoding %s using default\n", Encoding); - // if (ioctl(audiofd, AUDIO_SET_BYPASS_MODE, (void*) AUDIO_ENCODING_MP3) == -1) - // { - // linuxdvb_err("ioctl failed with errno %d\n", errno); - // linuxdvb_err("AUDIO_SET_BYPASS_MODE: %s\n", strerror(errno)); - // } + /* + if (ioctl(audiofd, AUDIO_SET_BYPASS_MODE, (void *) AUDIO_ENCODING_MP3) == -1) + { + linuxdvb_err("ioctl failed with errno %d\n", errno); + linuxdvb_err("AUDIO_SET_BYPASS_MODE: %s\n", strerror(errno)); + } + */ } else { @@ -776,11 +791,13 @@ int LinuxDvbSwitch(Context_t *context, char *type) if (writer == NULL) { linuxdvb_err("cannot found writer for encoding %s using default\n", Encoding); - // if (ioctl(videofd, VIDEO_SET_STREAMTYPE, (void*) VIDEO_ENCODING_AUTO) == -1) - // { - // linuxdvb_err("ioctl failed with errno %d\n", errno); - // linuxdvb_err("VIDEO_SET_STREAMTYPE: %s\n", strerror(errno)); - // } + /* + if (ioctl(videofd, VIDEO_SET_STREAMTYPE, (void *) VIDEO_ENCODING_AUTO) == -1) + { + linuxdvb_err("ioctl failed with errno %d\n", errno); + linuxdvb_err("VIDEO_SET_STREAMTYPE: %s\n", strerror(errno)); + } + */ } else { @@ -812,15 +829,14 @@ int LinuxDvbSwitch(Context_t *context, char *type) return cERR_LINUXDVB_NO_ERROR; } -static int Write(void *_context, void *_out) +static int Write(Context_t *context, void *_out) { - Context_t *context = (Context_t *) _context; - AudioVideoOut_t *out = (AudioVideoOut_t *) _out; - int ret = cERR_LINUXDVB_NO_ERROR; - int res = 0; - unsigned char video = 0; - unsigned char audio = 0; - Writer_t *writer; + AudioVideoOut_t *out = (AudioVideoOut_t *) _out; + int ret = cERR_LINUXDVB_NO_ERROR; + int res = 0; + unsigned char video = 0; + unsigned char audio = 0; + Writer_t *writer; WriterAVCallData_t call; if (out == NULL) { @@ -905,7 +921,7 @@ static int Write(void *_context, void *_out) call.Width = out->width; call.Height = out->height; call.InfoFlags = out->infoFlags; - call.Version = 0; // is unsingned char + call.Version = 0; // is unsingned char if (writer->writeData) { res = writer->writeData(&call); @@ -947,7 +963,7 @@ static int Write(void *_context, void *_out) call.FrameRate = out->frameRate; call.FrameScale = out->timeScale; call.InfoFlags = out->infoFlags; - call.Version = 0; /* -1; unsigned char cannot be negative */ + call.Version = 0; /* -1; unsigned char cannot be negative */ if (writer->writeData) { res = writer->writeData(&call); @@ -996,9 +1012,8 @@ static int reset(Context_t *context) return ret; } -static int Command(void *_context, OutputCmd_t command, void *argument) +static int Command(Context_t *context, OutputCmd_t command, void *argument) { - Context_t *context = (Context_t *) _context; int ret = cERR_LINUXDVB_NO_ERROR; linuxdvb_printf(50, "Command %d\n", command); switch (command) diff --git a/libeplayer3-arm/output/output.c b/libeplayer3-arm/output/output.c index 4943a11..168c203 100644 --- a/libeplayer3-arm/output/output.c +++ b/libeplayer3-arm/output/output.c @@ -147,9 +147,8 @@ static void OutputDel(Context_t *context, char *port) } } -static int Command(void *_context, OutputCmd_t command, void *argument) +static int Command(Context_t *context, OutputCmd_t command, void *argument) { - Context_t *context = (Context_t *) _context; int ret = cERR_OUTPUT_NO_ERROR; output_printf(10, "%s::%s Command %d\n", __FILE__, __FUNCTION__, command); switch (command) diff --git a/libeplayer3-arm/output/output_subtitle.c b/libeplayer3-arm/output/output_subtitle.c index ef740f2..726d230 100644 --- a/libeplayer3-arm/output/output_subtitle.c +++ b/libeplayer3-arm/output/output_subtitle.c @@ -188,9 +188,8 @@ static int Flush() return cERR_SUBTITLE_NO_ERROR; } -static int Write(void *_context, void *data) +static int Write(Context_t *context, void *data) { - Context_t *context = (Context_t *)_context; char *Encoding = NULL; SubtitleOut_t *out = NULL; int32_t curtrackid = -1; @@ -257,9 +256,8 @@ static int32_t subtitle_Close(Context_t *context __attribute__((unused))) return cERR_SUBTITLE_NO_ERROR; } -static int Command(void *_context, OutputCmd_t command, void *argument __attribute__((unused))) +static int Command(Context_t *context, OutputCmd_t command, void *argument __attribute__((unused))) { - Context_t *context = (Context_t *) _context; int ret = cERR_SUBTITLE_NO_ERROR; subtitle_printf(50, "%d\n", command); switch (command) diff --git a/libeplayer3-arm/output/writer/mipsel/aac.c b/libeplayer3-arm/output/writer/mipsel/aac.c index c8e1b2f..8e6d163 100644 --- a/libeplayer3-arm/output/writer/mipsel/aac.c +++ b/libeplayer3-arm/output/writer/mipsel/aac.c @@ -156,9 +156,8 @@ static int reset() return 0; } -static int _writeData(void *_call, int type) +static int _writeData(WriterAVCallData_t *call, int type) { - WriterAVCallData_t *call = (WriterAVCallData_t *) _call; aac_printf(10, "\n _writeData type[%d]\n", type); if (call == NULL) { @@ -199,9 +198,8 @@ static int _writeData(void *_call, int type) return writev_with_retry(call->fd, iov, 2); } -static int writeDataADTS(void *_call) +static int writeDataADTS(WriterAVCallData_t *call) { - WriterAVCallData_t *call = (WriterAVCallData_t *) _call; aac_printf(10, "\n"); if (call == NULL) { @@ -221,7 +219,7 @@ static int writeDataADTS(void *_call) if ((call->private_data && 0 == strncmp("ADTS", (const char *)call->private_data, call->private_size)) || HasADTSHeader(call->data, call->len)) { - return _writeData(_call, 0); + return _writeData(call, 0); } uint32_t PacketLength = call->len + AAC_HEADER_LENGTH; uint8_t PesHeader[PES_MAX_HEADER_SIZE + AAC_HEADER_LENGTH]; @@ -258,9 +256,8 @@ static int writeDataADTS(void *_call) return writev_with_retry(call->fd, iov, 2); } -static int writeDataLATM(void *_call) +static int writeDataLATM(WriterAVCallData_t *call) { - WriterAVCallData_t *call = (WriterAVCallData_t *) _call; aac_printf(10, "\n"); if (call == NULL) { @@ -274,7 +271,7 @@ static int writeDataLATM(void *_call) } if (call->private_data && 0 == strncmp("LATM", (const char *)call->private_data, call->private_size)) { - return _writeData(_call, 1); + return _writeData(call, 1); } aac_printf(10, "AudioPts %lld\n", call->Pts); if (!pLATMCtx) diff --git a/libeplayer3-arm/output/writer/mipsel/ac3.c b/libeplayer3-arm/output/writer/mipsel/ac3.c index 017b2b2..b71b089 100644 --- a/libeplayer3-arm/output/writer/mipsel/ac3.c +++ b/libeplayer3-arm/output/writer/mipsel/ac3.c @@ -95,9 +95,8 @@ static int reset() return 0; } -static int writeData(void *_call) +static int writeData(WriterAVCallData_t *call) { - WriterAVCallData_t *call = (WriterAVCallData_t *) _call; ac3_printf(10, "\n"); unsigned char PesHeader[PES_MAX_HEADER_SIZE]; if (call == NULL) diff --git a/libeplayer3-arm/output/writer/mipsel/amr.c b/libeplayer3-arm/output/writer/mipsel/amr.c index c94dead..cb843b5 100644 --- a/libeplayer3-arm/output/writer/mipsel/amr.c +++ b/libeplayer3-arm/output/writer/mipsel/amr.c @@ -96,10 +96,9 @@ static int reset() return 0; } -static int writeData(void *_call) +static int writeData(WriterAVCallData_t *call) { - WriterAVCallData_t *call = (WriterAVCallData_t *) _call; - unsigned char PesHeader[PES_MAX_HEADER_SIZE + 4 + 9]; + unsigned char PesHeader[PES_MAX_HEADER_SIZE + 4 + 9]; amr_printf(10, "\n"); if (call == NULL) { diff --git a/libeplayer3-arm/output/writer/mipsel/divx3.c b/libeplayer3-arm/output/writer/mipsel/divx3.c index 44a822d..98f1f4a 100644 --- a/libeplayer3-arm/output/writer/mipsel/divx3.c +++ b/libeplayer3-arm/output/writer/mipsel/divx3.c @@ -113,12 +113,11 @@ static int reset() return 0; } -static int writeData(void *_call) +static int writeData(WriterAVCallData_t *call) { - WriterAVCallData_t *call = (WriterAVCallData_t *) _call; - unsigned char PesHeader[PES_MAX_HEADER_SIZE + 4]; -// unsigned char Version = 5; -// unsigned int FakeStartCode = (Version << 8) | PES_VERSION_FAKE_START_CODE; + unsigned char PesHeader[PES_MAX_HEADER_SIZE + 4]; +// unsigned char Version = 5; +// unsigned int FakeStartCode = (Version << 8) | PES_VERSION_FAKE_START_CODE; divx_printf(10, "\n"); if (call == NULL) { diff --git a/libeplayer3-arm/output/writer/mipsel/dts.c b/libeplayer3-arm/output/writer/mipsel/dts.c index 06f0efb..b56969b 100644 --- a/libeplayer3-arm/output/writer/mipsel/dts.c +++ b/libeplayer3-arm/output/writer/mipsel/dts.c @@ -100,9 +100,8 @@ static int32_t reset() return 0; } -static int32_t writeData(void *_call) +static int writeData(WriterAVCallData_t *call) { - WriterAVCallData_t *call = (WriterAVCallData_t *) _call; uint8_t PesHeader[PES_AUDIO_HEADER_SIZE]; dts_printf(10, "\n"); if (call == NULL) diff --git a/libeplayer3-arm/output/writer/mipsel/h263.c b/libeplayer3-arm/output/writer/mipsel/h263.c index ab79368..152b026 100644 --- a/libeplayer3-arm/output/writer/mipsel/h263.c +++ b/libeplayer3-arm/output/writer/mipsel/h263.c @@ -91,9 +91,8 @@ static int32_t reset() return 0; } -static int32_t writeData(void *_call) +static int writeData(WriterAVCallData_t *call) { - WriterAVCallData_t *call = (WriterAVCallData_t *) _call; uint8_t PesHeader[PES_MAX_HEADER_SIZE]; int32_t len = 0; h263_printf(10, "\n"); diff --git a/libeplayer3-arm/output/writer/mipsel/h264.c b/libeplayer3-arm/output/writer/mipsel/h264.c index 77e45c1..04b3d2f 100644 --- a/libeplayer3-arm/output/writer/mipsel/h264.c +++ b/libeplayer3-arm/output/writer/mipsel/h264.c @@ -284,9 +284,8 @@ static int reset() return 0; } -static int writeData(void *_call) +static int writeData(WriterAVCallData_t *call) { - WriterAVCallData_t *call = (WriterAVCallData_t *) _call; unsigned char PesHeader[PES_MAX_HEADER_SIZE]; unsigned long long int VideoPts; unsigned int TimeDelta; diff --git a/libeplayer3-arm/output/writer/mipsel/h265.c b/libeplayer3-arm/output/writer/mipsel/h265.c index aa80678..cb21d99 100644 --- a/libeplayer3-arm/output/writer/mipsel/h265.c +++ b/libeplayer3-arm/output/writer/mipsel/h265.c @@ -168,9 +168,8 @@ static int reset() return 0; } -static int writeData(void *_call) +static int writeData(WriterAVCallData_t *call) { - WriterAVCallData_t *call = (WriterAVCallData_t *) _call; unsigned char PesHeader[PES_MAX_HEADER_SIZE]; unsigned long long int VideoPts; unsigned int TimeDelta; diff --git a/libeplayer3-arm/output/writer/mipsel/lpcm.c b/libeplayer3-arm/output/writer/mipsel/lpcm.c index a0ef5ee..aca119e 100644 --- a/libeplayer3-arm/output/writer/mipsel/lpcm.c +++ b/libeplayer3-arm/output/writer/mipsel/lpcm.c @@ -132,9 +132,8 @@ static int32_t reset() return 0; } -static int32_t writeData(void *_call) +static int writeData(WriterAVCallData_t *call) { - WriterAVCallData_t *call = (WriterAVCallData_t *) _call; lpcm_printf(10, "\n"); if (!call) { diff --git a/libeplayer3-arm/output/writer/mipsel/mp3.c b/libeplayer3-arm/output/writer/mipsel/mp3.c index ee8a83a..88c5a82 100644 --- a/libeplayer3-arm/output/writer/mipsel/mp3.c +++ b/libeplayer3-arm/output/writer/mipsel/mp3.c @@ -91,10 +91,9 @@ static int reset() return 0; } -static int writeData(void *_call) +static int writeData(WriterAVCallData_t *call) { - WriterAVCallData_t *call = (WriterAVCallData_t *) _call; - unsigned char PesHeader[PES_MAX_HEADER_SIZE + 22]; + unsigned char PesHeader[PES_MAX_HEADER_SIZE + 22]; mp3_printf(10, "\n"); if (call == NULL) { diff --git a/libeplayer3-arm/output/writer/mipsel/mpeg2.c b/libeplayer3-arm/output/writer/mipsel/mpeg2.c index 9ccce6d..daa9daf 100644 --- a/libeplayer3-arm/output/writer/mipsel/mpeg2.c +++ b/libeplayer3-arm/output/writer/mipsel/mpeg2.c @@ -92,10 +92,9 @@ static int reset() return 0; } -static int writeData(void *_call) +static int writeData(WriterAVCallData_t *call) { - WriterAVCallData_t *call = (WriterAVCallData_t *) _call; - unsigned char PesHeader[PES_MAX_HEADER_SIZE]; + unsigned char PesHeader[PES_MAX_HEADER_SIZE]; int len = 0; unsigned int Position = 0; mpeg2_printf(10, "\n"); diff --git a/libeplayer3-arm/output/writer/mipsel/mpeg4.c b/libeplayer3-arm/output/writer/mipsel/mpeg4.c index 9d9d8e4..7abce59 100644 --- a/libeplayer3-arm/output/writer/mipsel/mpeg4.c +++ b/libeplayer3-arm/output/writer/mipsel/mpeg4.c @@ -100,10 +100,9 @@ static int reset() return 0; } -static int writeData(void *_call) +static int writeData(WriterAVCallData_t *call) { - WriterAVCallData_t *call = (WriterAVCallData_t *) _call; - unsigned char PesHeader[PES_MAX_HEADER_SIZE]; + unsigned char PesHeader[PES_MAX_HEADER_SIZE]; mpeg4_printf(10, "\n"); if (call == NULL) { diff --git a/libeplayer3-arm/output/writer/mipsel/pcm.c b/libeplayer3-arm/output/writer/mipsel/pcm.c index 3a0045b..bc63b09 100644 --- a/libeplayer3-arm/output/writer/mipsel/pcm.c +++ b/libeplayer3-arm/output/writer/mipsel/pcm.c @@ -110,9 +110,8 @@ static int32_t reset() return 0; } -static int32_t writeData(void *_call) +static int writeData(WriterAVCallData_t *call) { - WriterAVCallData_t *call = (WriterAVCallData_t *) _call; pcm_printf(10, "\n"); if (!call) { diff --git a/libeplayer3-arm/output/writer/mipsel/vc1.c b/libeplayer3-arm/output/writer/mipsel/vc1.c index 845afb5..f6997ab 100644 --- a/libeplayer3-arm/output/writer/mipsel/vc1.c +++ b/libeplayer3-arm/output/writer/mipsel/vc1.c @@ -107,9 +107,8 @@ static int reset() return 0; } -static int writeData(void *_call) +static int writeData(WriterAVCallData_t *call) { - WriterAVCallData_t *call = (WriterAVCallData_t *) _call; //int len = 0; vc1_printf(10, "\n"); if (call == NULL) diff --git a/libeplayer3-arm/output/writer/mipsel/vp.c b/libeplayer3-arm/output/writer/mipsel/vp.c index d315358..2e31151 100644 --- a/libeplayer3-arm/output/writer/mipsel/vp.c +++ b/libeplayer3-arm/output/writer/mipsel/vp.c @@ -98,9 +98,8 @@ static int reset() return 0; } -static int writeData(void *_call, int is_vp6) +static int writeData(WriterAVCallData_t *call, int is_vp6) { - WriterAVCallData_t *call = (WriterAVCallData_t *) _call; vp_printf(10, "\n"); if (call == NULL) { @@ -142,14 +141,14 @@ static int writeData(void *_call, int is_vp6) return writev_with_retry(call->fd, iov, 2); } -static int writeDataVP6(void *_call) +static int writeDataVP6(WriterAVCallData_t *call) { - return writeData(_call, 1); + return writeData(call, 1); } -static int writeDataVP89(void *_call) +static int writeDataVP89(WriterAVCallData_t *call) { - return writeData(_call, 0); + return writeData(call, 0); } /* ***************************** */ diff --git a/libeplayer3-arm/output/writer/mipsel/wma.c b/libeplayer3-arm/output/writer/mipsel/wma.c index 5324836..6500c7e 100644 --- a/libeplayer3-arm/output/writer/mipsel/wma.c +++ b/libeplayer3-arm/output/writer/mipsel/wma.c @@ -103,9 +103,8 @@ static int reset() return 0; } -static int writeData(void *_call) +static int writeData(WriterAVCallData_t *call) { - WriterAVCallData_t *call = (WriterAVCallData_t *) _call; //int len = 0; wma_printf(10, "\n"); if (call == NULL) diff --git a/libeplayer3-arm/output/writer/mipsel/wmv.c b/libeplayer3-arm/output/writer/mipsel/wmv.c index 7722818..96db958 100644 --- a/libeplayer3-arm/output/writer/mipsel/wmv.c +++ b/libeplayer3-arm/output/writer/mipsel/wmv.c @@ -105,9 +105,8 @@ static int reset() return 0; } -static int writeData(void *_call) +static int writeData(WriterAVCallData_t *call) { - WriterAVCallData_t *call = (WriterAVCallData_t *) _call; wmv_printf(10, "\n"); if (call == NULL) { diff --git a/libeplayer3-arm/playback/playback.c b/libeplayer3-arm/playback/playback.c index ddfba50..4a69d0b 100644 --- a/libeplayer3-arm/playback/playback.c +++ b/libeplayer3-arm/playback/playback.c @@ -27,6 +27,7 @@ /* ***************************** */ /* Makros/Constants */ /* ***************************** */ + // SULGE DEBUG //#define SAM_WITH_DEBUG @@ -53,7 +54,7 @@ if (debug_level >= level) printf("[%s:%s] " fmt, __FILE__, __FUNCTION__, ## x); #define cERR_PLAYBACK_NO_ERROR 0 #define cERR_PLAYBACK_ERROR -1 -#define cMaxSpeed_ff 128 /* fixme: revise */ +#define cMaxSpeed_ff 128 /* fixme: revise */ #define cMaxSpeed_fr -320 /* fixme: revise */ /* ***************************** */ @@ -706,9 +707,8 @@ static int PlaybackMetadata(Context_t *context, char ***metadata) return ret; } -static int32_t Command(void *_context, PlaybackCmd_t command, void *argument) +static int32_t Command(Context_t *context, PlaybackCmd_t command, void *argument) { - Context_t *context = (Context_t *) _context; /* to satisfy compiler */ int32_t ret = cERR_PLAYBACK_NO_ERROR; playback_printf(20, "Command %d\n", command); switch (command)