- if(! ( POKE( p_peek, "#EXTM3U", 7 ) || POKE( p_peek, "RTSPtext", 8 ) ||
- demux_IsPathExtension( p_demux, ".m3u" ) || demux_IsPathExtension( p_demux, ".vlc" ) ||
- /* A .ram file can contain a single rtsp link */
- demux_IsPathExtension( p_demux, ".ram" ) || demux_IsPathExtension( p_demux, ".rm" ) ||
- demux_IsForced( p_demux, "m3u" ) ) )
+ if( POKE( p_peek, "\xef\xbb\xbf", 3) )/* BOM at start */
+ {
+ pf_dup = CheckUnicode; /* UTF-8 */
+ stream_Seek( p_demux->s, 3 );
+ }
+ else
+ if( POKE( p_peek, "RTSPtext", 8 ) /* QuickTime */
+ || demux_IsPathExtension( p_demux, ".m3u8" )
+ || demux_IsForced( p_demux, "m3u8" )
+ || CheckContentType( p_demux->s, "application/vnd.apple.mpegurl" ) )
+ 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 )
+ || CheckContentType( p_demux->s, "audio/x-mpegurl") )
+ pf_dup = GuessEncoding;
+ else