From: <die...@us...> - 2010-02-03 08:46:13
|
Revision: 1781 http://openutils.svn.sourceforge.net/openutils/?rev=1781&view=rev Author: diego_schivo Date: 2010-02-03 08:46:07 +0000 (Wed, 03 Feb 2010) Log Message: ----------- MEDIA-67 video-token retrieved from http://www.youtube.com/get_video_info instead of provided video-url Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java 2010-02-03 08:01:17 UTC (rev 1780) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java 2010-02-03 08:46:07 UTC (rev 1781) @@ -164,23 +164,26 @@ try { String videoUrl = getUrl(media); - URL url = new URL(videoUrl); + String videoId = getVideoId(StringUtils.substringAfter(videoUrl, "?")); + String videoInfoUrl = "http://www.youtube.com/get_video_info?video_id=" + videoId; + URL url = new URL(videoInfoUrl); HttpURLConnection httpConn = (HttpURLConnection) url.openConnection(); if (httpConn.getResponseCode() == 200) { in = new BufferedReader(new InputStreamReader(httpConn.getInputStream())); String line; - String search = "\"t\""; + String search = "&token="; while ((line = in.readLine()) != null) { int p = line.indexOf(search); if (p != -1) { - String signature = StringUtils.substringBetween(line.substring(p + search.length()), "\"", "\""); + String token = StringUtils.substringBefore(line.substring(p + search.length()), "&"); flvUrl = "http://www.youtube.com/get_video?fmt=5&video_id=" - + getVideoId(StringUtils.substringAfter(videoUrl, "?")) + + videoId + "&t=" - + signature; + + token; + break; } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <die...@us...> - 2010-02-17 19:56:19
|
Revision: 1972 http://openutils.svn.sourceforge.net/openutils/?rev=1972&view=rev Author: diego_schivo Date: 2010-02-17 19:56:11 +0000 (Wed, 17 Feb 2010) Log Message: ----------- MEDIA-99 Copy the youtube preview image to the repository, when no additional preview image is added Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java 2010-02-17 09:50:56 UTC (rev 1971) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java 2010-02-17 19:56:11 UTC (rev 1972) @@ -19,10 +19,19 @@ package net.sourceforge.openutils.mgnlmedia.media.types.impl; +import info.magnolia.cms.beans.runtime.Document; import info.magnolia.cms.beans.runtime.MultipartForm; import info.magnolia.cms.core.Content; +import info.magnolia.cms.core.Path; +import info.magnolia.module.admininterface.SaveHandlerImpl; +import java.io.BufferedReader; import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.List; @@ -33,10 +42,12 @@ import javax.jcr.RepositoryException; import javax.servlet.http.HttpServletRequest; +import net.sourceforge.openutils.mgnlmedia.media.tags.el.MediaEl; import net.sourceforge.openutils.mgnlmedia.media.types.externals.ExternalVideoSupport; import net.sourceforge.openutils.mgnlmedia.media.utils.FLVMedataUtils; import net.sourceforge.openutils.mgnlmedia.media.utils.FLVMedataUtils.FLVMetaData; +import org.apache.commons.io.IOUtils; import org.apache.commons.lang.ClassUtils; import org.apache.commons.lang.StringUtils; import org.slf4j.Logger; @@ -62,6 +73,21 @@ private List<ExternalVideoSupport> videoSupportHandlers = new ArrayList<ExternalVideoSupport>(); /** + * The directory for temporary storage of files. + */ + private File tempDir; + + /** + * {@inheritDoc} + */ + @Override + public void init(Content typeDefinitionNode) + { + super.init(typeDefinitionNode); + this.tempDir = new File(Path.getTempDirectoryPath()); + } + + /** * Returns the list of configured videoSupportHandlers. * @return the list of configured videoSupportHandlers. */ @@ -200,4 +226,69 @@ } } + /** + * {@inheritDoc} + */ + @Override + public boolean onPostSave(Content media) + { + if (StringUtils.isEmpty(MediaEl.thumbnail(media))) + { + String downloadUrl = getUrl(media); + for (ExternalVideoSupport external : videoSupportHandlers) + { + if (external.isEnabled() && external.canHandle(downloadUrl)) + { + String previewUrl = external.getPreviewUrl(downloadUrl); + if (StringUtils.isNotBlank(previewUrl)) + { + BufferedReader in = null; + try + { + URL url = new URL(previewUrl); + HttpURLConnection httpConn = (HttpURLConnection) url.openConnection(); + if (httpConn.getResponseCode() == 200) + { + in = new BufferedReader(new InputStreamReader(httpConn.getInputStream())); + File file = File.createTempFile("external-video", "youtube-img", tempDir); + FileOutputStream fout = null; + try + { + fout = new FileOutputStream(file); + IOUtils.copy(in, fout); + } + finally + { + IOUtils.closeQuietly(fout); + } + Document doc = new Document(file, httpConn.getContentType()); + try + { + SaveHandlerImpl.saveDocument(media, doc, PREVIEW_NODEDATA_NAME, "preview", null); + } + catch (RepositoryException e) + { + log.error(e.getMessage(), e); + } + } + } + catch (MalformedURLException e) + { + log.error(e.getMessage(), e); + } + catch (IOException e) + { + log.error(e.getMessage(), e); + } + finally + { + IOUtils.closeQuietly(in); + } + } + break; + } + } + } + return super.onPostSave(media); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <die...@us...> - 2010-02-18 07:47:55
|
Revision: 1973 http://openutils.svn.sourceforge.net/openutils/?rev=1973&view=rev Author: diego_schivo Date: 2010-02-18 07:47:48 +0000 (Thu, 18 Feb 2010) Log Message: ----------- MEDIA-99 fix inputstream Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java 2010-02-17 19:56:11 UTC (rev 1972) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java 2010-02-18 07:47:48 UTC (rev 1973) @@ -25,11 +25,10 @@ import info.magnolia.cms.core.Path; import info.magnolia.module.admininterface.SaveHandlerImpl; -import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; -import java.io.InputStreamReader; +import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; @@ -242,20 +241,20 @@ String previewUrl = external.getPreviewUrl(downloadUrl); if (StringUtils.isNotBlank(previewUrl)) { - BufferedReader in = null; + InputStream is = null; try { URL url = new URL(previewUrl); HttpURLConnection httpConn = (HttpURLConnection) url.openConnection(); if (httpConn.getResponseCode() == 200) { - in = new BufferedReader(new InputStreamReader(httpConn.getInputStream())); + is = httpConn.getInputStream(); File file = File.createTempFile("external-video", "youtube-img", tempDir); FileOutputStream fout = null; try { fout = new FileOutputStream(file); - IOUtils.copy(in, fout); + IOUtils.copy(is, fout); } finally { @@ -264,7 +263,7 @@ Document doc = new Document(file, httpConn.getContentType()); try { - SaveHandlerImpl.saveDocument(media, doc, PREVIEW_NODEDATA_NAME, "preview", null); + SaveHandlerImpl.saveDocument(media, doc, PREVIEW_NODEDATA_NAME, "preview.jpg", null); } catch (RepositoryException e) { @@ -282,7 +281,7 @@ } finally { - IOUtils.closeQuietly(in); + IOUtils.closeQuietly(is); } } break; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <die...@us...> - 2010-02-18 08:00:19
|
Revision: 1974 http://openutils.svn.sourceforge.net/openutils/?rev=1974&view=rev Author: diego_schivo Date: 2010-02-18 08:00:12 +0000 (Thu, 18 Feb 2010) Log Message: ----------- MEDIA-99 refactoring Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java 2010-02-18 07:47:48 UTC (rev 1973) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java 2010-02-18 08:00:12 UTC (rev 1974) @@ -41,7 +41,6 @@ import javax.jcr.RepositoryException; import javax.servlet.http.HttpServletRequest; -import net.sourceforge.openutils.mgnlmedia.media.tags.el.MediaEl; import net.sourceforge.openutils.mgnlmedia.media.types.externals.ExternalVideoSupport; import net.sourceforge.openutils.mgnlmedia.media.utils.FLVMedataUtils; import net.sourceforge.openutils.mgnlmedia.media.utils.FLVMedataUtils.FLVMetaData; @@ -231,7 +230,7 @@ @Override public boolean onPostSave(Content media) { - if (StringUtils.isEmpty(MediaEl.thumbnail(media))) + if (StringUtils.isBlank(getPreviewUrl(media))) { String downloadUrl = getUrl(media); for (ExternalVideoSupport external : videoSupportHandlers) @@ -241,48 +240,7 @@ String previewUrl = external.getPreviewUrl(downloadUrl); if (StringUtils.isNotBlank(previewUrl)) { - InputStream is = null; - try - { - URL url = new URL(previewUrl); - HttpURLConnection httpConn = (HttpURLConnection) url.openConnection(); - if (httpConn.getResponseCode() == 200) - { - is = httpConn.getInputStream(); - File file = File.createTempFile("external-video", "youtube-img", tempDir); - FileOutputStream fout = null; - try - { - fout = new FileOutputStream(file); - IOUtils.copy(is, fout); - } - finally - { - IOUtils.closeQuietly(fout); - } - Document doc = new Document(file, httpConn.getContentType()); - try - { - SaveHandlerImpl.saveDocument(media, doc, PREVIEW_NODEDATA_NAME, "preview.jpg", null); - } - catch (RepositoryException e) - { - log.error(e.getMessage(), e); - } - } - } - catch (MalformedURLException e) - { - log.error(e.getMessage(), e); - } - catch (IOException e) - { - log.error(e.getMessage(), e); - } - finally - { - IOUtils.closeQuietly(is); - } + copyPreviewImageToRepository(media, previewUrl); } break; } @@ -290,4 +248,58 @@ } return super.onPostSave(media); } + + /** + * @param media + * @param previewUrl + */ + private void copyPreviewImageToRepository(Content media, String previewUrl) + { + InputStream is = null; + try + { + URL url = new URL(previewUrl); + HttpURLConnection httpConn = (HttpURLConnection) url.openConnection(); + if (httpConn.getResponseCode() == 200) + { + is = httpConn.getInputStream(); + File file = File.createTempFile("external-video", "preview", tempDir); + FileOutputStream fout = null; + try + { + fout = new FileOutputStream(file); + IOUtils.copy(is, fout); + } + finally + { + IOUtils.closeQuietly(fout); + } + Document doc = new Document(file, httpConn.getContentType()); + try + { + SaveHandlerImpl.saveDocument(media, doc, PREVIEW_NODEDATA_NAME, "preview.jpg", null); + } + catch (RepositoryException e) + { + log.error(e.getMessage(), e); + } + finally + { + doc.delete(); + } + } + } + catch (MalformedURLException e) + { + log.error(e.getMessage(), e); + } + catch (IOException e) + { + log.error(e.getMessage(), e); + } + finally + { + IOUtils.closeQuietly(is); + } + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <die...@us...> - 2010-02-18 08:35:41
|
Revision: 1976 http://openutils.svn.sourceforge.net/openutils/?rev=1976&view=rev Author: diego_schivo Date: 2010-02-18 08:35:35 +0000 (Thu, 18 Feb 2010) Log Message: ----------- MEDIA-99 fix typo Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java 2010-02-18 08:34:34 UTC (rev 1975) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java 2010-02-18 08:35:35 UTC (rev 1976) @@ -289,7 +289,7 @@ String extension = "jpg"; if (StringUtils.startsWith(contentType, "image/")) { - extension = StringUtils.removeStart(contentType, "image"); + extension = StringUtils.removeStart(contentType, "image/"); } SaveHandlerImpl.saveDocument(media, doc, PREVIEW_NODEDATA_NAME, "preview." + extension, null); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <die...@us...> - 2010-02-18 08:48:02
|
Revision: 1977 http://openutils.svn.sourceforge.net/openutils/?rev=1977&view=rev Author: diego_schivo Date: 2010-02-18 08:47:55 +0000 (Thu, 18 Feb 2010) Log Message: ----------- MEDIA-99 no file extension Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java 2010-02-18 08:35:35 UTC (rev 1976) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java 2010-02-18 08:47:55 UTC (rev 1977) @@ -285,13 +285,7 @@ Document doc = new Document(file, contentType); try { - // @todo a better way to determine file extension? - String extension = "jpg"; - if (StringUtils.startsWith(contentType, "image/")) - { - extension = StringUtils.removeStart(contentType, "image/"); - } - SaveHandlerImpl.saveDocument(media, doc, PREVIEW_NODEDATA_NAME, "preview." + extension, null); + SaveHandlerImpl.saveDocument(media, doc, PREVIEW_NODEDATA_NAME, "preview", null); } catch (RepositoryException e) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
Revision: 2015 http://openutils.svn.sourceforge.net/openutils/?rev=2015&view=rev Author: fgiust Date: 2010-02-20 18:10:43 +0000 (Sat, 20 Feb 2010) Log Message: ----------- MEDIA-99 stick to the standard java temp dir, no need to configure it Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java 2010-02-20 08:26:36 UTC (rev 2014) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java 2010-02-20 18:10:43 UTC (rev 2015) @@ -22,7 +22,6 @@ import info.magnolia.cms.beans.runtime.Document; import info.magnolia.cms.beans.runtime.MultipartForm; import info.magnolia.cms.core.Content; -import info.magnolia.cms.core.Path; import info.magnolia.module.admininterface.SaveHandlerImpl; import java.io.File; @@ -71,18 +70,12 @@ private List<ExternalVideoSupport> videoSupportHandlers = new ArrayList<ExternalVideoSupport>(); /** - * The directory for temporary storage of files. - */ - private File tempDir; - - /** * {@inheritDoc} */ @Override public void init(Content typeDefinitionNode) { super.init(typeDefinitionNode); - this.tempDir = new File(Path.getTempDirectoryPath()); } /** @@ -270,7 +263,7 @@ if (httpConn.getResponseCode() == HttpURLConnection.HTTP_OK) { is = httpConn.getInputStream(); - File file = File.createTempFile("external-video", "preview", tempDir); + File file = File.createTempFile("external-video", "preview"); FileOutputStream fout = null; try { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
Revision: 2277 http://openutils.svn.sourceforge.net/openutils/?rev=2277&view=rev Author: fgiust Date: 2010-04-05 14:37:06 +0000 (Mon, 05 Apr 2010) Log Message: ----------- MEDIA-123 baseurl support for external videos Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java 2010-04-05 14:18:42 UTC (rev 2276) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java 2010-04-05 14:37:06 UTC (rev 2277) @@ -60,6 +60,11 @@ { /** + * Name for the attribute holding the base path + */ + private static final String BASEPATH_ATTRIBUTE = "basepath"; + + /** * Logger. */ private final Logger log = LoggerFactory.getLogger(ExternalVideoTypeHandler.class); @@ -151,7 +156,19 @@ @Override public String getUrl(Content media, Map<String, String> options) { - return media.getNodeData("videoUrl").getString(); + + String url = media.getNodeData("videoUrl").getString(); + + if (!StringUtils.startsWith(url, "http") && !StringUtils.startsWith(url, "rtmpt")) + { + String basepath = media.getNodeData(BASEPATH_ATTRIBUTE).getString(); + if (StringUtils.isNotBlank(basepath)) + { + return basepath + url; + } + } + + return url; } /** @@ -240,6 +257,15 @@ * {@inheritDoc} */ @Override + public String getUrl(Content media) + { + return getUrl(media, null); + } + + /** + * {@inheritDoc} + */ + @Override public boolean onPostSave(Content media) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
Revision: 2859 http://openutils.svn.sourceforge.net/openutils/?rev=2859&view=rev Author: fgiust Date: 2010-08-24 06:12:37 +0000 (Tue, 24 Aug 2010) Log Message: ----------- MEDIA-163 Handle whitespace in external URLs when fetching metadata Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java 2010-08-20 17:07:00 UTC (rev 2858) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java 2010-08-24 06:12:37 UTC (rev 2859) @@ -42,8 +42,8 @@ import net.sourceforge.openutils.mgnlmedia.media.types.externals.ExternalVideoSupport; import net.sourceforge.openutils.mgnlmedia.media.utils.FLVMedataUtils; +import net.sourceforge.openutils.mgnlmedia.media.utils.FLVMedataUtils.FLVMetaData; import net.sourceforge.openutils.mgnlmedia.media.utils.RtmpMedatadaFetcher; -import net.sourceforge.openutils.mgnlmedia.media.utils.FLVMedataUtils.FLVMetaData; import org.apache.commons.io.IOUtils; import org.apache.commons.lang.ClassUtils; @@ -241,6 +241,8 @@ { if (StringUtils.startsWith(downloadUrl, "http")) { + // handle spaces: note we can't encode the full url here + downloadUrl = StringUtils.replace(downloadUrl, " ", "%20"); URL url = new URL(downloadUrl); return FLVMedataUtils.parseFLVfromUrl(url); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
Revision: 3581 http://openutils.svn.sourceforge.net/openutils/?rev=3581&view=rev Author: fgiust Date: 2011-08-02 14:54:52 +0000 (Tue, 02 Aug 2011) Log Message: ----------- MEDIA-249 Parsing of mp4 metadata only works for internal videos Modified Paths: -------------- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java Modified: trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java =================================================================== --- trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java 2011-07-11 15:03:12 UTC (rev 3580) +++ trunk/openutils-mgnlmedia/src/main/java/net/sourceforge/openutils/mgnlmedia/media/types/impl/ExternalVideoTypeHandler.java 2011-08-02 14:54:52 UTC (rev 3581) @@ -31,6 +31,7 @@ import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; +import java.net.URLConnection; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -41,9 +42,9 @@ import javax.servlet.http.HttpServletRequest; import net.sourceforge.openutils.mgnlmedia.media.types.externals.ExternalVideoSupport; +import net.sourceforge.openutils.mgnlmedia.media.utils.RtmpMedatadaFetcher; import net.sourceforge.openutils.mgnlmedia.media.utils.VideoMedataUtils; import net.sourceforge.openutils.mgnlmedia.media.utils.VideoMedataUtils.VideoMetaData; -import net.sourceforge.openutils.mgnlmedia.media.utils.RtmpMedatadaFetcher; import org.apache.commons.io.IOUtils; import org.apache.commons.lang.ClassUtils; @@ -244,7 +245,21 @@ // handle spaces: note we can't encode the full url here downloadUrl = StringUtils.replace(downloadUrl, " ", "%20"); URL url = new URL(downloadUrl); - return VideoMedataUtils.parseFLVfromUrl(url); + String extension = StringUtils.contains(downloadUrl, ".flv") ? "flv" : "mp4"; + + URLConnection connection = url.openConnection(); + connection.setConnectTimeout(5000); + + InputStream fis = connection.getInputStream(); + try + { + return VideoMedataUtils.parsefromStream(extension, fis); + } + finally + { + IOUtils.closeQuietly(fis); + } + } else if (StringUtils.startsWith(downloadUrl, "rtmp")) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |