if( !( p_sd->p_sys = p_sys ) )
return VLC_ENOMEM;
- /* Initialize on first IPv4-capable adapter and first open port
- * TODO: use UpnpInit2() to utilize IPv6.
- */
+#ifdef UPNP_ENABLE_IPV6
+ char* psz_miface;
+ psz_miface = var_InheritString( p_sd, "miface" );
+ msg_Info( p_sd, "Initializing libupnp on '%s' interface", psz_miface );
+ i_res = UpnpInit2( psz_miface, 0 );
+ free( psz_miface );
+#else
+ /* If UpnpInit2 isnt available, initialize on first IPv4-capable interface */
i_res = UpnpInit( 0, 0 );
+#endif
if( i_res != UPNP_E_SUCCESS )
{
msg_Err( p_sd, "Initialization failed: %s", UpnpGetErrorMessage( i_res ) );