Commit bf43238e authored by Jean-Paul Saman's avatar Jean-Paul Saman

Forward port of revision 16113. Fixes a bug in live555 module, that made audio...

Forward port of revision 16113. Fixes a bug in live555 module, that made audio packets (only for audio types that are not supported) being sent to the video decoder. This caused artefacts and segmentation faults in the decoder. VLC core handles the case for codec being not supported just fine, so removed the check for undefined codec.
parent 42b84e0a
...@@ -427,13 +427,13 @@ static int Open ( vlc_object_t *p_this ) ...@@ -427,13 +427,13 @@ static int Open ( vlc_object_t *p_this )
bInit = sub->initiate( 4 ); /* Constant ? */ bInit = sub->initiate( 4 ); /* Constant ? */
else else
bInit = sub->initiate(); bInit = sub->initiate();
if( strcasestr( sub->codecName(), "REAL" ) ) if( strcasestr( sub->codecName(), "REAL" ) )
{ {
msg_Info( p_demux, "real codec detected, using real-RTSP instead" ); msg_Info( p_demux, "real codec detected, using real-RTSP instead" );
delete iter; delete iter;
goto error; goto error;
} }
if( !bInit ) if( !bInit )
{ {
...@@ -596,9 +596,9 @@ static int Open ( vlc_object_t *p_this ) ...@@ -596,9 +596,9 @@ static int Open ( vlc_object_t *p_this )
} }
#if LIVEMEDIA_LIBRARY_VERSION_INT >= 1141257600 #if LIVEMEDIA_LIBRARY_VERSION_INT >= 1141257600
/* Because the "faad" decoder does not handle the LATM data length field /* Because the "faad" decoder does not handle the LATM data length field
at the start of each returned LATM frame, tell the RTP source to omit it. */ at the start of each returned LATM frame, tell the RTP source to omit it. */
((MPEG4LATMAudioRTPSource*)sub->rtpSource())->omitLATMDataLengthField(); ((MPEG4LATMAudioRTPSource*)sub->rtpSource())->omitLATMDataLengthField();
#endif #endif
} }
else if( !strcmp( sub->codecName(), "MPEG4-GENERIC" ) ) else if( !strcmp( sub->codecName(), "MPEG4-GENERIC" ) )
...@@ -713,10 +713,7 @@ static int Open ( vlc_object_t *p_this ) ...@@ -713,10 +713,7 @@ static int Open ( vlc_object_t *p_this )
} }
} }
if( tk->fmt.i_codec != VLC_FOURCC( 'u', 'n', 'd', 'f' ) ) tk->p_es = es_out_Add( p_demux->out, &tk->fmt );
{
tk->p_es = es_out_Add( p_demux->out, &tk->fmt );
}
if( sub->rtcpInstance() != NULL ) if( sub->rtcpInstance() != NULL )
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment