AVFormatContext *lm_oc;
AVBitStreamFilterContext *lm_h264_filter;
int lm_fd;
+ int lm_init;
} lav_muxer_t;
#define MUX_BUF_SIZE 4096
return -1;
}
+ lm->lm_init = 1;
+
return 0;
}
return -1;
}
+ if(!lm->lm_init) {
+ tvhlog(LOG_ERR, "libav", "Muxer not initialized correctly");
+ lm->m_errors++;
+ return -1;
+ }
+
for(i=0; i<oc->nb_streams; i++) {
st = oc->streams[i];
int ret = 0;
lav_muxer_t *lm = (lav_muxer_t*)m;
- if(lm->lm_oc->nb_streams && av_write_trailer(lm->lm_oc) < 0) {
+ if(lm->lm_init && av_write_trailer(lm->lm_oc) < 0) {
tvhlog(LOG_WARNING, "libav", "Failed to write %s trailer",
muxer_container_type2txt(lm->m_container));
lm->m_errors++;
lm->lm_oc = avformat_alloc_context();
lm->lm_oc->oformat = fmt;
lm->lm_fd = -1;
+ lm->lm_init = 0;
return (muxer_t*)lm;
}