MediaTomb & TV Samsung

Nov 03, 2013 10:29

многое понаписано в Интернете, как подружить вышеописанные программму и устройство, приводятся варианты конфигурационного файла, но почти нигде не говорят главного. Новые модели Самсунга (точнее ПО в них) нарушают RFC396 и посему AllShare c Медиатомбом не вяжутся.
Вчера провозился весь вечер, пытаясь вонзить медиатомб в PCBSD. По умолчанию в AppCafe идёт версия 0.12.1_8, хотя в портах давно уже 0.12.1_11. И собрана эта версия, естественно, без решения вышеуказанной проблемы. Мало того, пакет на репозиториях фри (же 0.12.11_11) так же собран без этого. Решение есть на souceforge. http://sourceforge.net/p/mediatomb/patches/37/
приведу текст патча. мало ли удалят на источнике
[mediatomb-urifix.patch]diff -ruN mediatomb.orig/tombupnp/upnp/src/genlib/net/uri/uri.c mediatomb/tombupnp/upnp/src/genlib/net/uri/uri.c
--- mediatomb.orig/tombupnp/upnp/src/genlib/net/uri/uri.c 2012-06-06 23:01:22.000000000 +0200
+++ mediatomb/tombupnp/upnp/src/genlib/net/uri/uri.c 2012-06-07 08:22:01.000000000 +0200
@@ -1042,7 +1042,8 @@
out->path_type = REL_PATH;
}

- if( ( ( begin_hostport + 1 ) < max ) && ( in[begin_hostport] == '/' )
+ //parse hostport only if scheme was found
+ if( ( begin_hostport > 0 ) && ( ( begin_hostport + 1 ) < max ) && ( in[begin_hostport] == '/' )
&& ( in[begin_hostport + 1] == '/' ) ) {
begin_hostport += 2;

@@ -1059,6 +1060,12 @@
out->hostport.text.size = 0;
out->hostport.text.buff = 0;
begin_path = begin_hostport;
+
+ //remove excessive leading slashes (fix for Samsung Smart TV 2012)
+ while( ( ( begin_path + 1 ) < max ) && ( in[begin_path] == '/' ) && ( in[begin_path + 1] == '/') ) {
+ begin_path++;
+ }
+
}

begin_fragment =

Пришлось качать порт, пытаться собрать его (из портов не собирается), идти в каталог work, и там ручками конфигурить, собирать и ставить. Вот после всего этого мой ТВ начал работать с моей же видеотекой :-)))

mediatomb freebsd samsung

Previous post Next post
Up