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. |