mirror of https://github.com/mpv-player/mpv
unified failure case in muxer_new_muxer()
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17840 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
041fea5e84
commit
1a3ec4b7e6
|
@ -19,51 +19,39 @@
|
||||||
#include "stheader.h"
|
#include "stheader.h"
|
||||||
|
|
||||||
muxer_t *muxer_new_muxer(int type,FILE *f){
|
muxer_t *muxer_new_muxer(int type,FILE *f){
|
||||||
muxer_t* muxer=malloc(sizeof(muxer_t));
|
muxer_t* muxer=calloc(1,sizeof(muxer_t));
|
||||||
memset(muxer,0,sizeof(muxer_t));
|
|
||||||
if(!muxer)
|
if(!muxer)
|
||||||
return NULL;
|
return NULL;
|
||||||
muxer->file = f;
|
muxer->file = f;
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case MUXER_TYPE_MPEG:
|
case MUXER_TYPE_MPEG:
|
||||||
if(! muxer_init_muxer_mpeg(muxer))
|
if(! muxer_init_muxer_mpeg(muxer))
|
||||||
{
|
goto fail;
|
||||||
free(muxer);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case MUXER_TYPE_RAWVIDEO:
|
case MUXER_TYPE_RAWVIDEO:
|
||||||
if(! muxer_init_muxer_rawvideo(muxer))
|
if(! muxer_init_muxer_rawvideo(muxer))
|
||||||
{
|
goto fail;
|
||||||
free(muxer);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
case MUXER_TYPE_RAWAUDIO:
|
case MUXER_TYPE_RAWAUDIO:
|
||||||
if(! muxer_init_muxer_rawaudio(muxer))
|
if(! muxer_init_muxer_rawaudio(muxer))
|
||||||
{
|
goto fail;
|
||||||
free(muxer);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
#if defined(USE_LIBAVFORMAT) || defined(USE_LIBAVFORMAT_SO)
|
#if defined(USE_LIBAVFORMAT) || defined(USE_LIBAVFORMAT_SO)
|
||||||
case MUXER_TYPE_LAVF:
|
case MUXER_TYPE_LAVF:
|
||||||
if(! muxer_init_muxer_lavf(muxer))
|
if(! muxer_init_muxer_lavf(muxer))
|
||||||
{
|
goto fail;
|
||||||
free(muxer);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
case MUXER_TYPE_AVI:
|
case MUXER_TYPE_AVI:
|
||||||
default:
|
default:
|
||||||
if(! muxer_init_muxer_avi(muxer))
|
if(! muxer_init_muxer_avi(muxer))
|
||||||
{
|
goto fail;
|
||||||
free(muxer);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return muxer;
|
return muxer;
|
||||||
|
|
||||||
|
fail:
|
||||||
|
free(muxer);
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* buffer frames until we either:
|
/* buffer frames until we either:
|
||||||
|
|
Loading…
Reference in New Issue