I have tracked the (initial) bug down to totem_pl_parser_mime_type_from_data().
The m3u is first detected as audio/x-mpegurl (which is correct), then later on, it is detected as text/plain by g_content_type_guess() based on its content (which is correct too).
The problem is that text/plain is then tested only against a list of dual_types, not including m3u (which is in a list called special_types), so totem_pl_parser_mime_type_from_data() fails, making the url "unhandled" by totem-plparser. It is then passed by totem to gstreamer.
I have tracked the (initial) bug down to totem_pl_ parser_ mime_type_ from_data( ).
The m3u is first detected as audio/x-mpegurl (which is correct), then later on, it is detected as text/plain by g_content_ type_guess( ) based on its content (which is correct too).
The problem is that text/plain is then tested only against a list of dual_types, not including m3u (which is in a list called special_types), so totem_pl_ parser_ mime_type_ from_data( ) fails, making the url "unhandled" by totem-plparser. It is then passed by totem to gstreamer.
This should probably go upstream.