Commit 36ea4f47 authored by Derk-Jan Hartman's avatar Derk-Jan Hartman

* backport of [11500] [11501] and [11502]

parent 4ac2bd85
...@@ -769,8 +769,10 @@ static int Demux( demux_t *p_demux ) ...@@ -769,8 +769,10 @@ static int Demux( demux_t *p_demux )
if( p_sys->b_multicast && p_sys->b_no_data && p_sys->i_no_data_ti > 120 ) if( p_sys->b_multicast && p_sys->b_no_data && p_sys->i_no_data_ti > 120 )
{ {
/* FIXME Make this configurable
msg_Err( p_demux, "no multicast data received in 36s, aborting" ); msg_Err( p_demux, "no multicast data received in 36s, aborting" );
return 0; return 0;
*/
} }
else if( !p_sys->b_multicast && p_sys->b_no_data && p_sys->i_no_data_ti > 3 ) else if( !p_sys->b_multicast && p_sys->b_no_data && p_sys->i_no_data_ti > 3 )
{ {
...@@ -792,7 +794,7 @@ static int Demux( demux_t *p_demux ) ...@@ -792,7 +794,7 @@ static int Demux( demux_t *p_demux )
return 0; return 0;
} }
} }
else if( p_sys->i_no_data_ti > 10 ) else if( !p_sys->b_multicast && p_sys->b_no_data&& p_sys->i_no_data_ti > 10 )
{ {
/* EOF ? */ /* EOF ? */
msg_Warn( p_demux, "no data received in 3s, eof ?" ); msg_Warn( p_demux, "no data received in 3s, eof ?" );
......
...@@ -492,9 +492,16 @@ class vlc_stream_io_callback: public IOCallback ...@@ -492,9 +492,16 @@ class vlc_stream_io_callback: public IOCallback
private: private:
stream_t *s; stream_t *s;
vlc_bool_t mb_eof; vlc_bool_t mb_eof;
vlc_bool_t b_owner;
public: public:
vlc_stream_io_callback( stream_t * ); vlc_stream_io_callback( stream_t *, vlc_bool_t );
virtual ~vlc_stream_io_callback()
{
if( b_owner )
stream_Delete( s );
}
virtual uint32 read ( void *p_buffer, size_t i_size); virtual uint32 read ( void *p_buffer, size_t i_size);
virtual void setFilePointer ( int64_t i_offset, seek_mode mode = seek_beginning ); virtual void setFilePointer ( int64_t i_offset, seek_mode mode = seek_beginning );
...@@ -1392,7 +1399,7 @@ static int Open( vlc_object_t * p_this ) ...@@ -1392,7 +1399,7 @@ static int Open( vlc_object_t * p_this )
p_demux->pf_control = Control; p_demux->pf_control = Control;
p_demux->p_sys = p_sys = new demux_sys_t( *p_demux ); p_demux->p_sys = p_sys = new demux_sys_t( *p_demux );
p_io_callback = new vlc_stream_io_callback( p_demux->s ); p_io_callback = new vlc_stream_io_callback( p_demux->s, VLC_FALSE );
p_io_stream = new EbmlStream( *p_io_callback ); p_io_stream = new EbmlStream( *p_io_callback );
if( p_io_stream == NULL ) if( p_io_stream == NULL )
...@@ -1469,7 +1476,7 @@ static int Open( vlc_object_t * p_this ) ...@@ -1469,7 +1476,7 @@ static int Open( vlc_object_t * p_this )
#endif #endif
{ {
// test wether this file belongs to our family // test wether this file belongs to our family
vlc_stream_io_callback *p_file_io = new vlc_stream_io_callback( stream_UrlNew( p_demux, s_filename.c_str())); vlc_stream_io_callback *p_file_io = new vlc_stream_io_callback( stream_UrlNew( p_demux, s_filename.c_str()), VLC_TRUE );
EbmlStream *p_estream = new EbmlStream(*p_file_io); EbmlStream *p_estream = new EbmlStream(*p_file_io);
p_stream = p_sys->AnalyseAllSegmentsFound( p_estream ); p_stream = p_sys->AnalyseAllSegmentsFound( p_estream );
...@@ -3224,9 +3231,10 @@ static int Demux( demux_t *p_demux) ...@@ -3224,9 +3231,10 @@ static int Demux( demux_t *p_demux)
/***************************************************************************** /*****************************************************************************
* Stream managment * Stream managment
*****************************************************************************/ *****************************************************************************/
vlc_stream_io_callback::vlc_stream_io_callback( stream_t *s_ ) vlc_stream_io_callback::vlc_stream_io_callback( stream_t *s_, vlc_bool_t b_owner_ )
{ {
s = s_; s = s_;
b_owner = b_owner_;
mb_eof = VLC_FALSE; mb_eof = VLC_FALSE;
} }
......
...@@ -925,7 +925,14 @@ belongs to an Apple hidden private API, and then can "disapear" at any time*/ ...@@ -925,7 +925,14 @@ belongs to an Apple hidden private API, and then can "disapear" at any time*/
} }
if( o_result != NULL ) if( o_result != NULL )
{ {
for( i = 1 ; i < [o_result count] - 1 ; i++ ) int i_start;
if( [[o_result objectAtIndex: 0] pointerValue] ==
p_playlist->p_general )
i_start = 1;
else
i_start = 0;
for( i = i_start ; i < [o_result count] - 1 ; i++ )
{ {
[o_outline_view expandItem: [o_outline_dict objectForKey: [o_outline_view expandItem: [o_outline_dict objectForKey:
[NSString stringWithFormat: @"%p", [NSString stringWithFormat: @"%p",
......
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