Hi again!

On Sat, 2011-01-22 at 07:04:59 +0100, Guillem Jover wrote:
> Attached is a patch with few cherry-picked fixes from upstream CVS,
> to enable gmediaserver to work correctly with a PS3.
> 
> The relevant patch is debian/patches/00_cvs_fixes.diff, but it
> conflicted with debian/patches/06_fix_noxon_sort.diff, so I've rebased
> that one, and just included a patch against the debian packaging.

Actually just noticed that there's some hunks that are not needed
given 07_mime_magic.diff, I've also removed the unneecessary changes
to sort_criteria_comparision(), so there's no need any longer to
rebase 06_fix_noxon_sort.diff.

It would be nice to include this simpler patch for squeeze so that
the server works with DLNA clients as the PS3, but I can see how this
could be rejected during this period of the freeze.

Attached new patch.

thanks,
guillem
diff -Nru gmediaserver-0.13.0/debian/patches/00_cvs_fixes.diff gmediaserver-0.13.0/debian/patches/00_cvs_fixes.diff
--- gmediaserver-0.13.0/debian/patches/00_cvs_fixes.diff	1970-01-01 01:00:00.000000000 +0100
+++ gmediaserver-0.13.0/debian/patches/00_cvs_fixes.diff	2011-01-22 07:14:51.000000000 +0100
@@ -0,0 +1,93 @@
+Description: Fix several things from upstream CVS
+Origin: upstream
+
+diff -Naur -x CVS gmediaserver-orig/src/connectmgr.c gmediaserver/src/connectmgr.c
+--- gmediaserver-orig/src/connectmgr.c	2007-10-18 18:30:04.000000000 +0200
++++ gmediaserver/src/connectmgr.c	2008-05-06 20:39:30.000000000 +0200
+@@ -32,8 +32,8 @@
+      * this: "http-get:*:audio/mpeg:*,http-get:*:audio/m3u:*,..") we use
+      * this generic string which is accepted according to the standard.
+      */
+-    upnp_add_response(event, "SOURCE", "http-get:*:*:*");
+-    upnp_add_response(event, "SINK", "");
++    upnp_add_response(event, "Source", "http-get:*:*:*");
++    upnp_add_response(event, "Sink", "");
+     return event->status;
+ }
+ 
+diff -Naur -x CVS gmediaserver-orig/src/metadata.c gmediaserver/src/metadata.c
+--- gmediaserver-orig/src/metadata.c	2007-10-20 11:41:32.000000000 +0200
++++ gmediaserver/src/metadata.c	2010-02-14 20:23:36.000000000 +0100
+@@ -66,7 +66,7 @@
+ #define MAX_INVALID_EXTM3U_FILES	16
+ #define MAX_INVALID_PLS_FILES		16
+ #define MAX_INVALID_PLS_LINES		16
+-#define EXT_INFO_DEFAULT		"DLNA.ORG_PS=1;DLNA.ORG_CI=0;DLNA.ORG_OP=00;DLNA.ORG_FLAGS=00000000000000000000000000000000"
++#define EXT_INFO_DEFAULT		"DLNA.ORG_PS=1;DLNA.ORG_CI=0;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=00000000000000000000000000000000"
+ #define EXT_INFO_PN			";DLNA.ORG_PN="
+ 
+ typedef enum {
+@@ -109,7 +109,7 @@
+     [FILE_MP3] 		= "MP3",
+     [FILE_MP3_ID3]	= "MP3",
+     [FILE_WMA] 		= "WMAFULL",
+-    [FILE_RIFF_WAVE] 	= NULL,
++    [FILE_RIFF_WAVE]	= "LPCM",
+     [FILE_M4A] 		= NULL,
+     [FILE_OGG]		= NULL,
+     [FILE_MPG] 		= NULL,
+@@ -129,11 +129,11 @@
+     [FILE_MP3] 		= "audio/mpeg",
+     [FILE_MP3_ID3]	= "audio/mpeg",
+     [FILE_WMA] 		= "audio/x-ms-wma",
+-    [FILE_RIFF_WAVE] 	= "audio/x-wav",
++    [FILE_RIFF_WAVE] 	= "audio/x-wav", /* DMS: was x-wav */
+     [FILE_M4A] 		= "audio/mp4",
+-    [FILE_OGG]		= "audio/vorbis",
++    [FILE_OGG]		= "application/ogg",
+     [FILE_MPG] 		= "video/mpeg",
+-    [FILE_MP4] 		= "video/mp4",
++    [FILE_MP4] 		= "video/divx", /* DMS: was mp4*/
+     [FILE_PLS] 		= "audio/x-scpls",
+     [FILE_M3U] 		= "audio/m3u",
+     [FILE_EXTM3U] 	= "audio/m3u",
+@@ -153,7 +153,7 @@
+     [FILE_M4A] 		= "m4a",
+     [FILE_OGG]		= "ogg",
+     [FILE_MPG] 		= "mpg",
+-    [FILE_MP4] 		= "mp4",
++    [FILE_MP4] 		= "divx", /*DMS: was mp4*/
+     [FILE_PLS] 		= "pls",
+     [FILE_M3U] 		= "m3u",
+     [FILE_EXTM3U] 	= "m3u", /* possibly extm3u in the future */
+@@ -341,6 +350,7 @@
+ 	    { FILE_MPG,		"video/mp2p" },
+ 	    { FILE_MPG,		"video/mp2t" },
+ 	    { FILE_MP4,		"video/mp4" },
++	    { FILE_MP4,		"video/x-msvideo" }, /* DMS: avi */
+ 	    { FILE_MP4,		"video/mp4v-es" },
+ 	    { FILE_MP4,		"video/h264" },
+ 	    { FILE_MP4,		"video/3gpp" },
+@@ -862,18 +875,21 @@
+         } else {
+ 	    say(4, _("%s  Matched type %s - %s\n"), indent, file_type_descs[type], file_type_mime_types[type]);
+         }
++
++#ifdef RESTRICT_FILE_TYPES        
+ 	if (!string_in_csv(file_types, ',', file_type_names[type])) {
+ 	    say(4, _("%s  Skipping (file type excluded)\n"), indent);
+ 	    free(indent);
+ 	    return NULL;
+ 	}
++#endif        
+ 
+         if (type == FILE_PLS || type == FILE_M3U || type == FILE_EXTM3U) {
+             free(indent);
+ 	    return scan_playlist_file(fullpath, name, parent, type, indent_size+1, inl, sb.st_ino);
+ 	}
+ 
+-        /*say(4, _("%s  Adding as %s\n"), indent, quote(name));*/
++        say(4, _("%s  Adding %s as '%s'\n"), indent, quote(name), file_type_mime_types[type]);
+         entry = make_entry(name, parent, false);
+ 
+         detail = add_entry_detail(entry, DETAIL_FILE);
diff -Nru gmediaserver-0.13.0/debian/patches/series gmediaserver-0.13.0/debian/patches/series
--- gmediaserver-0.13.0/debian/patches/series	2009-11-10 13:33:16.000000000 +0100
+++ gmediaserver-0.13.0/debian/patches/series	2011-01-22 07:07:36.000000000 +0100
@@ -1,3 +1,4 @@
+00_cvs_fixes.diff
 03_fix_info_file.diff
 04_dont_blog_signals_if_not_processing_them.diff
 05_fix_multiple_dirs.diff

Reply via email to