mirror of
https://github.com/mpv-player/mpv
synced 2024-12-18 04:45:33 +00:00
Replace a really ugly hack by a clean but not thread safe solution.
(no threads so no problem anyway ...) This fixes the segfault with lavf muxing. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26722 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
7420952caf
commit
13b723459b
@ -61,8 +61,14 @@ m_option_t lavfopts_conf[] = {
|
||||
{NULL, NULL, 0, 0, 0, 0, NULL}
|
||||
};
|
||||
|
||||
static muxer_t *priv_data; // This should be transmitted to mp_open() through the filename
|
||||
// when thread saftey is needed but mplayer == no threads and
|
||||
// especially not multiple muxers being inited at once so theres
|
||||
// no point in the extra complexity, a static is simpler.
|
||||
|
||||
static int mp_open(URLContext *h, const char *filename, int flags)
|
||||
{
|
||||
h->priv_data= priv_data;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -388,14 +394,13 @@ int muxer_init_muxer_lavf(muxer_t *muxer)
|
||||
av_strlcpy(priv->oc->comment , info_comment, sizeof(priv->oc->comment ));
|
||||
register_protocol(&mp_protocol);
|
||||
|
||||
priv_data= muxer;
|
||||
if(url_fopen(&priv->oc->pb, mp_filename, URL_WRONLY))
|
||||
{
|
||||
mp_msg(MSGT_MUXER, MSGL_FATAL, "Could not open outfile\n");
|
||||
goto fail;
|
||||
}
|
||||
|
||||
((URLContext*)(priv->oc->pb->opaque))->priv_data= muxer;
|
||||
|
||||
muxer->priv = (void *) priv;
|
||||
muxer->cont_new_stream = &lavf_new_stream;
|
||||
muxer->cont_write_chunk = &write_chunk;
|
||||
|
Loading…
Reference in New Issue
Block a user