- if(! ( POKE( p_peek, "#EXTM3U", 7 ) || POKE( p_peek, "RTSPtext", 8 ) ||
- demux2_IsPathExtension( p_demux, ".m3u" ) || demux2_IsPathExtension( p_demux, ".vlc" ) ||
- /* A .ram file can contain a single rtsp link */
- demux2_IsPathExtension( p_demux, ".ram" ) || demux2_IsPathExtension( p_demux, ".rm" ) ||
- demux2_IsForced( p_demux, "m3u" ) ) )
+ if( POKE( p_peek, "RTSPtext", 8 ) /* QuickTime */
+ || POKE( p_peek, "\xef\xbb\xbf" "#EXTM3U", 10) /* BOM at start */
+ || demux_IsPathExtension( p_demux, ".m3u8" )
+ || demux_IsForced( p_demux, "m3u8" ) )
+ pf_dup = CheckUnicode; /* UTF-8 */
+ else
+ if( POKE( p_peek, "#EXTM3U", 7 )
+ || demux_IsPathExtension( p_demux, ".m3u" )
+ || demux_IsPathExtension( p_demux, ".vlc" )
+ || demux_IsForced( p_demux, "m3u" )
+ || ContainsURL( p_demux ) )
+ pf_dup = GuessEncoding;
+ else