From 73d0c2a2cff285372098ee84c214a779a0fc733e Mon Sep 17 00:00:00 2001 From: Michael Hanson Date: Tue, 23 Mar 2010 23:58:13 +0000 Subject: mythtv: patch to address bug #644. ref 644 --- .../mythtv/stable-0.22/mythtv/PKGBUILD | 5 +-- .../stable-0.22/mythtv/changeset_r23616.patch | 38 ++++++++++++++++++++++ 2 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 abs/core-testing/mythtv/stable-0.22/mythtv/changeset_r23616.patch diff --git a/abs/core-testing/mythtv/stable-0.22/mythtv/PKGBUILD b/abs/core-testing/mythtv/stable-0.22/mythtv/PKGBUILD index 4718d8d..d0c526c 100755 --- a/abs/core-testing/mythtv/stable-0.22/mythtv/PKGBUILD +++ b/abs/core-testing/mythtv/stable-0.22/mythtv/PKGBUILD @@ -1,6 +1,6 @@ pkgname=mythtv pkgver=0.22 -pkgrel=22013 +pkgrel=22014 pkgdesc="A personal video recorder for Linux" url="http://www.mythtv.org" license="GPL" @@ -16,7 +16,7 @@ groups=('pvr') #MAKEFLAGS="-j6" install='mythtv.install' -patchs=('menutheme_fallback.patch') +patchs=('menutheme_fallback.patch' 'changeset_r23616.patch') #patchs=('smolt_jump.patch') source=('mythbackend' 'myth.sh' `echo ${patchs[@]:0}` 'mythbackend.lr' 'mythfrontend.lr' 'pretty') arch=('i686' 'x86_64') @@ -103,6 +103,7 @@ build() { md5sums=('7ef6de58240e7aad389a0b13d91b1cf6' '2babd4b8e146a7538d18dcd55695b0be' 'aa50bfa75ceceb0bdd5c1e4508690693' + '5b21465c2d80a8c1a96fa8f187aeaded' 'f735805a80b0d1180dee01f9df1b7004' 'f407d6af23e74a49540755420f84fa58' 'f944c51c40208fdb3d8e3dd3d8c60bf3') diff --git a/abs/core-testing/mythtv/stable-0.22/mythtv/changeset_r23616.patch b/abs/core-testing/mythtv/stable-0.22/mythtv/changeset_r23616.patch new file mode 100644 index 0000000..2af779a --- /dev/null +++ b/abs/core-testing/mythtv/stable-0.22/mythtv/changeset_r23616.patch @@ -0,0 +1,38 @@ +--- bindings/perl/MythTV/Recording.pm.orig 2010-03-23 23:06:08.000000000 +0000 ++++ bindings/perl/MythTV/Recording.pm 2010-03-23 23:15:24.000000000 +0000 +@@ -307,12 +307,12 @@ + # Set the is_mpeg flag + $info{'is_mpeg'} = 1; + # Grab the info we want from mplayer (go uber-verbose to override --really-quiet) +- my $data = `$program -v -v -v -v -nolirc -nojoystick -vo null -ao null -frames 1 -identify '$file' 2>/dev/null`; ++ my $idargs = "-v -v -v -v -nolirc -nojoystick -vo null -ao null -frames 1 -identify"; ++ my $data = `$program $idargs '$file' 2>/dev/null`; + study $data; +- ($info{'video_type'}) = $data =~ m/^VIDEO:\s*(MPEG[12])/m; ++ ($info{'video_type'}) = $data =~ m/^VIDEO:?\s*(MPEG[12]|H264)/m; + ($info{'width'}) = $data =~ m/^ID_VIDEO_WIDTH=0*([1-9]\d*)/m; + ($info{'height'}) = $data =~ m/^ID_VIDEO_HEIGHT=0*([1-9]\d*)/m; +- ($info{'fps'}) = $data =~ m/^ID_VIDEO_FPS=0*([1-9]\d*(?:\.\d+)?)/m; + ($info{'audio_sample_rate'}) = $data =~ m/^ID_AUDIO_RATE=0*([1-9]\d*)/m; + ($info{'audio_bitrate'}) = $data =~ m/^ID_AUDIO_BITRATE=0*([1-9]\d*)/m; + ($info{'audio_bits_per_sample'}) = $data =~ m/^AUDIO:.+?ch,\s*[su](8|16)/mi; +@@ -321,6 +321,19 @@ + ($info{'aspect'}) = $data =~ m/^ID_VIDEO_ASPECT=0*([1-9]\d*(?:[\.\,]\d+)?)/m; + ($info{'audio_type'}) = $data =~ m/^ID_AUDIO_CODEC=0*([1-9]\d*(?:\.\d+)?)/m; + ($info{'mpeg_stream_type'}) = $data =~ m/^ID_DEMUXER=(\w+)/mi; ++ # Mplayer can't find the needed details. Let's try again, forcing the use ++ # of the ffmpeg lavf demuxer ++ if (!defined($info{'width'})) { ++ my $altdata = `$program $idargs -demuxer lavf '$file' 2>/dev/null`; ++ study $altdata; ++ ($info{'width'}) = $altdata =~ m/^ID_VIDEO_WIDTH=0*([1-9]\d*)/m; ++ ($info{'height'}) = $altdata =~ m/^ID_VIDEO_HEIGHT=0*([1-9]\d*)/m; ++ ($info{'audio_bitrate'}) = $altdata =~ m/^ID_AUDIO_BITRATE=0*([1-9]\d*)/m; ++ ($info{'audio_sample_rate'}) = $altdata =~ m/^ID_AUDIO_RATE=0*([1-9]\d*)/m; ++ ($info{'audio_channels'}) = $altdata =~ m/^ID_AUDIO_NCH=0*([1-9]\d*)/m; ++ ($info{'aspect'}) = $altdata =~ m/^ID_VIDEO_ASPECT=0*([1-9]\d*(?:[\.\,]\d+)?)/m; ++ } ++ + # Stream type + $info{'mpeg_stream_type'} = lc($info{'mpeg_stream_type'}); + if ($info{'mpeg_stream_type'} && $info{'mpeg_stream_type'} !~ /^mpeg/) { -- cgit v0.12