minidlna: Added support RMVB

Signed-off-by: Vision Lsm <vision.lsm.2012@gmail.com>
This commit is contained in:
Vision Lsm 2020-02-01 12:08:45 +08:00
parent d56c71b1b3
commit 5b4c2b12d3
No known key found for this signature in database
GPG Key ID: 89E8C0FD9D6F5FE1
2 changed files with 65 additions and 1 deletions

View File

@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=minidlna
PKG_RELEASE:=2
PKG_RELEASE:=3
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://git.code.sf.net/p/minidlna/git

View File

@ -0,0 +1,64 @@
From e4a045e92b864dc148ca46be94668c5b67132405 Mon Sep 17 00:00:00 2001
From: VergLsm <vision.lsm.2012@gmail.com>
Date: Fri, 31 Jan 2020 10:01:12 +0000
Subject: [PATCH] Added support RMVB.
---
metadata.c | 4 ++++
upnpglobalvars.h | 3 ++-
utils.c | 3 +++
3 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/metadata.c b/metadata.c
index 9cd86dc..2d13480 100644
--- a/metadata.c
+++ b/metadata.c
@@ -862,6 +862,10 @@ GetVideoMetadata(const char *path, const char *name)
xasprintf(&m.mime, "video/x-matroska");
else if( strcmp(ctx->iformat->name, "flv") == 0 )
xasprintf(&m.mime, "video/x-flv");
+ else if( strcmp(ctx->iformat->name, "rm") == 0 )
+ xasprintf(&m.mime, "video/x-pn-realvideo");
+ else if( strcmp(ctx->iformat->name, "rmvb") == 0 )
+ xasprintf(&m.mime, "video/x-pn-realvideo");
if( m.mime )
goto video_no_dlna;
diff --git a/upnpglobalvars.h b/upnpglobalvars.h
index 1a2fb5e..2cbe24c 100644
--- a/upnpglobalvars.h
+++ b/upnpglobalvars.h
@@ -172,7 +172,8 @@
"http-get:*:audio/x-wav:*," \
"http-get:*:audio/x-flac:*," \
"http-get:*:audio/x-dsd:*," \
- "http-get:*:application/ogg:*"
+ "http-get:*:application/ogg:*,"\
+ "http-get:*:video/x-pn-realvideo:*"
#define DLNA_FLAG_DLNA_V1_5 0x00100000
#define DLNA_FLAG_HTTP_STALLING 0x00200000
diff --git a/utils.c b/utils.c
index dc936f9..006f611 100644
--- a/utils.c
+++ b/utils.c
@@ -377,6 +377,8 @@ mime_to_ext(const char * mime)
return "3gp";
else if( strncmp(mime+6, "x-tivo-mpeg", 11) == 0 )
return "TiVo";
+ else if( strcmp(mime+6, "x-pn-realvideo") == 0 )
+ return "rm";
break;
case 'i':
if( strcmp(mime+6, "jpeg") == 0 )
@@ -401,6 +403,7 @@ is_video(const char * file)
ends_with(file, ".m2t") || ends_with(file, ".mkv") ||
ends_with(file, ".vob") || ends_with(file, ".ts") ||
ends_with(file, ".flv") || ends_with(file, ".xvid") ||
+ ends_with(file, ".rm") || ends_with(file, ".rmvb") ||
#ifdef TIVO_SUPPORT
ends_with(file, ".TiVo") ||
#endif
--
2.20.1