00001 #!/usr/bin/perl
00002 #
00003 # MythWeb Streaming/Download module
00004 #
00005 # @url $URL: http://svn.mythtv.org/svn/trunk/mythplugins/mythweb/modules/stream/handler.pl $
00006 # @date $Date: 2008-11-21 15:37:31 -0500 (Fri, 21 Nov 2008) $
00007 # @version $Revision: 19146 $
00008 # @author $Author: kormoc $
00009 #
00010
00011 # Necessary constants for sysopen
00012 use Fcntl;
00013
00014 # Other includes
00015 use Sys::Hostname;
00016
00017 require "modules/$Path[0]/tv.pl";
00018
00019 unless ($filename) {
00020 print header(),
00021 "$basename does not exist in any recognized storage group directories for this host.";
00022 exit;
00023 }
00024
00025 # ASX mode?
00026 if ($ENV{'REQUEST_URI'} =~ /\.asx$/i) {
00027 require "modules/$Path[0]/stream_asx.pl";
00028 }
00029 # Flash?
00030 elsif ($ENV{'REQUEST_URI'} =~ /\.flvp$/i) {
00031 require "modules/$Path[0]/stream_flvp.pl";
00032 }
00033 elsif ($ENV{'REQUEST_URI'} =~ /\.flv$/i) {
00034 require "modules/$Path[0]/stream_flv.pl";
00035 }
00036 # Mpeg4?
00037 elsif ($ENV{'REQUEST_URI'} =~ /\.mp4$/i) {
00038 require "modules/$Path[0]/stream_mp4.pl";
00039 }
00040 # Raw file?
00041 else {
00042 require "modules/$Path[0]/stream_raw.pl";
00043 }
00044
00045 ###############################################################################
00046
00047 # Escape a parameter for safe use in a commandline call
00048 sub shell_escape {
00049 $str = shift;
00050 $str =~ s/'/'\\''/sg;
00051 return "'$str'";
00052 }
00053
00054 # Return true
00055 1;