Revision: 5830 Author: pebender Date: Thu Nov 12 23:44:51 2009 Log: - Fixed a bug in MythStream's YouTube parser in MythTV trunk caused by a change in YouTube's web page format. - Fixed a bug that caused MythStream to crash in MythTV trunk due to streams.res not being present.
http://code.google.com/p/minimyth/source/detail?r=5830 Added: /trunk/gar-minimyth/script/myth-trunk/mythstream/files/mythstream-mythtv-r21640-streams_res.patch /trunk/gar-minimyth/script/myth-trunk/mythstream/files/mythstream-mythtv-r21640-youtube_parser_fix_2.patch Modified: /trunk/gar-minimyth/html/minimyth/document-changelog.txt /trunk/gar-minimyth/script/myth-trunk/mythstream/Makefile /trunk/gar-minimyth/script/myth-trunk/mythstream/checksums ======================================= --- /dev/null +++ /trunk/gar-minimyth/script/myth-trunk/mythstream/files/mythstream-mythtv-r21640-streams_res.patch Thu Nov 12 23:44:51 2009 @@ -0,0 +1,285 @@ +diff -Naur mythstream_mythtv-r21640-old/libs/streams.res mythstream_mythtv-r21640-new/libs/streams.res +--- mythstream_mythtv-r21640-old/libs/streams.res 1969-12-31 16:00:00.000000000 -0800 ++++ mythstream_mythtv-r21640-new/libs/streams.res 2009-11-10 16:08:43.000000000 -0800 +@@ -0,0 +1,281 @@ ++ ++ ++[item] ++Interaction ++Apple movie trailers ++whatever ++trailers ++*apple ++ ++[item] ++Interaction ++Browse Shoutcast genres ++http://www.shoutcast.com ++[emptystring] ++*shoutcast/menu ++ ++[item] ++Interaction ++Uitzending gemist - laatste uitzendingen (Dutch) ++http://www.uitzendinggemist.nl ++Uitzending gemist selectie ++omroep/menu ++ ++[item] ++Interaction ++World Wide Media Project ++[emptystring] ++[emptystring] ++*wwmp/menu ++ ++[item] ++Interaction ++tv-links - Monty Python's Flying Circus ++http://tv-links.co.uk/listings/1/2526 ++[emptystring] ++tvlinks/listing ++ ++[item] ++Interaction ++wwiTV list ++http://wwitv.com/television/tvbar.htm ++List of television stations ++wwitv/countries ++ ++[item] ++Podcast feeds ++Beercasting ++http://beercasting.com/rss.xml ++(podcast) ++podcast ++ ++[item] ++Podcast feeds ++Feed me weird things ++http://del.icio.us/rss/audio/feedmeweirdthings ++(podcast) http://del.icio.us/rss/audio/feedmeweirdthings ++rdfcast ++ ++[item] ++Podcast feeds ++SETI Institute ++http://podcast.seti.org/index.xml ++podcast ++podcast ++ ++[item] ++Radio ++BBC World Service ++http://www.bbc.co.uk/worldservice/meta/tx/nb/live_news_au_nb.ram ++International ++[emptystring] ++ ++[item] ++Radio ++DR R&B, Denmark ++http://www.dr.dk/netradio/Metafiler/ASX/DR_RogB_128.asx ++Copenhagen, Denmark ++[emptystring] ++ ++[item] ++Radio ++Energy Black, Switzerland ++http://broadcast.infomaniak.ch/energyblack-high.mp3.m3u ++Zurich, Switzerland ++[emptystring] ++ ++[item] ++Radio ++Fun Radio, belgium ++http://www.funradio.be/funradiobe-low.high.pls ++[emptystring] ++[emptystring] ++ ++[item] ++Radio ++Juventus Radio ++http://live.juventus.hu:8000/live.m3u ++Budapest, Hungary ++[emptystring] ++ ++[item] ++Radio ++Shoutcast Country ++http://www.shoutcast.com/directory/index.phtml?sgenre=Country&numresult=50 ++Country music stations ++shoutcast ++ ++[item] ++Radio ++Shoutcast Rock ++http://www.shoutcast.com/directory/index.phtml?sgenre=Rock&numresult=50 ++Shoutcast Rock stations ++shoutcast ++ ++[item] ++Radio ++The Voice, Norway ++http://213.158.233.199:6006/listen.pls ++Oslo, Norway ++[emptystring] ++ ++[item] ++Radio ++WGBH, Boston ++http://streams.wgbh.org/classical.pls ++Boston, Massachusetts ++[emptystring] ++ ++[item] ++Radio ++WholeWheatRadio stream ++http://64.62.252.134:2680/listen.pls ++[emptystring] ++[emptystring] ++ ++[item] ++TV ++Holland Doc ++mms://livemedia.omroep.nl/vprohollanddoc-bb ++Nederland 4 themakanaal ++[emptystring] ++ ++[item] ++TV ++NASA TV ++http://www.nasa.gov/ram/35037main_portal.ram ++[emptystring] ++[emptystring] ++ ++[item] ++TV ++NRK News TV ++mms://media00.nrk.no/mms2/nydi/AutoEnc/mn1840.wmv ++Norwegen ++[emptystring] ++ ++[item] ++TV ++National Nine News TV ++mms://broadband.netshow.ninemsn.com.au/broadband/news/story1.wmv ++Australia ++[emptystring] ++ ++[item] ++TV ++RBC TV ++http://tv.gldn.net:80/rbc ++Russia ++[emptystring] ++ ++[item] ++TV ++Tweede Kamer ++mms://213.75.12.78/TKStream3 ++Dutch Parliament ++[emptystring] ++ ++[item] ++TV ++Uitzending gemist RSS feed ++http://www.uitzendinggemist.nl/index.php/rss ++Laatste uitzendingen ++omroep/rss ++ ++[item] ++TV ++United Nations TV ++rtsp://a4.l878435134.c8784.g.lr.akamaistream.net/live/D/4/8784/v0001/reflector:35134 ++[emptystring] ++[emptystring] ++ ++[item] ++TV ++VPro 3Voor12 Central TV ++mms://livemedia.omroep.nl/vpro3voor12tvcentral-bb ++http://3voor12.vpro.nl ++[emptystring] ++ ++[item] ++TV ++VPro 3Voor12 on Stage TV ++mms://livemedia.omroep.nl/vpro3voor12tvonstage-bb ++[emptystring] ++[emptystring] ++ ++[item] ++TV ++YLE 24 News TV ++http://ra.yle.fi/ramgen/yle24/video/uusin_rk.rm ++Finland ++[emptystring] ++ ++[item] ++TV ++Yomiuri News TV ++http://www.yomiuri.co.jp/stream/vnews/vnews-w.asx ++Japan ++[emptystring] ++ ++[item] ++Video ++DailyMotion custom search ++http://www.dailymotion.com/rss/relevance/search/<:search term::funny:>/<:page::1:> ++Edit search term with virtual keyboard ++dailymotion/playall ++ ++[item] ++Video ++DailyMotion playlist demo: Alicia Keys Live ++http://www.dailymotion.com/rss/relevance/search/Alicia+Keys+live/1 ++Mark streams (M) and play ++dailymotion/playall ++ ++[item] ++Video ++Dailymotion download and play: VH1/1 ++http://www.dailymotion.com/rss/relevance/search/vh1/1 ++[emptystring] ++dailymotion/feed ++ ++[item] ++Video ++Dailymotion playlist demo: Amy Winehouse ++http://www.dailymotion.com/rss/relevance/search/Amy+Winehouse+live/1 ++Mark streams (M) and play ++dailymotion/playall ++ ++[item] ++Video ++YouTube top viewed today ++http://youtube.com/rss/global/top_viewed_today.rss ++Voor andere feeds zie youtube ++youtube/feed ++ ++[item] ++stream lists ++Icecast list ++http://dir.xiph.org/yp.xml ++Harvested with icecast.pl script ++icecast ++ ++[item] ++stream lists ++OperaCast list ++http://www.operacast.com/opstations.htm ++Stationlist from www.operacast.com ++operacast ++ ++[item] ++stream lists ++Operanut list (default parser) ++http://operanut.com/radio.htm ++Some dead streams ++[emptystring] ++ ++[item] ++stream lists ++Robins BBC parser ++ask the parser :) ++BBC parsing by Robin Gilks ++*bbc/robins_links ======================================= --- /dev/null +++ /trunk/gar-minimyth/script/myth-trunk/mythstream/files/mythstream-mythtv-r21640-youtube_parser_fix_2.patch Thu Nov 12 23:44:51 2009 @@ -0,0 +1,106 @@ +diff -Naur mythstream_mythtv-r21640-old/parsers/youtube/vid.pl mythstream_mythtv-r21640-new/parsers/youtube/vid.pl +--- mythstream_mythtv-r21640-old/parsers/youtube/vid.pl 2009-09-02 15:18:49.000000000 -0700 ++++ mythstream_mythtv-r21640-new/parsers/youtube/vid.pl 2009-11-11 06:09:55.000000000 -0800 +@@ -61,9 +61,11 @@ + + my $a, $b; + +-if ( ($a, $b) = $data =~ /swfArgs\s\=\s\{.*?"t":\s*"([^"]+)".+?"video_id":\s*"([^"]+)"/ ) ++if ( ($a, $b) = $data =~ /'SWF_ARGS'\s*\:\s*\{.*?"t":\s*"([^"]+)".+?"video_id":\s*"([^"]+)"/ ) + { +- $url = "http://www.youtube.com/get_video?video_id=$b&t=$a"; ++ my $url = "http://www.youtube.com/get_video?video_id=$b&t=$a"; ++ ++ my $fmt_h264 = ($data =~ /'SWF_URL'\s*:\s*.*\.flash\.canPlayH264Videos()/); + + $item = $doc->createElement('item'); + $root->appendChild($item); +@@ -73,6 +75,17 @@ + $item->appendChild( newNode('descr', "") ); + $item->appendChild( newNode('handler', "") ); + ++ if ($fmt_h264) ++ { ++ $item = $doc->createElement('item'); ++ $root->appendChild($item); ++ ++ $item->appendChild( newNode('name', "play: $sname [H.264]") ); ++ $item->appendChild( newNode('url', $url . '&fmt=18') ); ++ $item->appendChild( newNode('descr', "") ); ++ $item->appendChild( newNode('handler', "") ); ++ } ++ + if (! ($playlist_enable == 1) ) + { + $item = $doc->createElement('item'); +@@ -82,6 +95,17 @@ + $item->appendChild( newNode('url', $url) ); + $item->appendChild( newNode('descr', "") ); + $item->appendChild( newNode('handler', "STREAM_DL") ); ++ ++ if ($fmt_h264) ++ { ++ $item = $doc->createElement('item'); ++ $root->appendChild($item); ++ ++ $item->appendChild( newNode('name', "download: $sname [H.264]") ); ++ $item->appendChild( newNode('url', $url . '&fmt=18') ); ++ $item->appendChild( newNode('descr', "") ); ++ $item->appendChild( newNode('handler', "STREAM_DL") ); ++ } + } + } + +diff -Naur mythstream_mythtv-r21640-old/parsers/youtube/youvid.pl mythstream_mythtv-r21640-new/parsers/youtube/youvid.pl +--- mythstream_mythtv-r21640-old/parsers/youtube/youvid.pl 2009-09-02 15:18:49.000000000 -0700 ++++ mythstream_mythtv-r21640-new/parsers/youtube/youvid.pl 2009-11-11 06:10:22.000000000 -0800 +@@ -65,10 +65,12 @@ + + my $a, $b; + +-if ( ($a, $b) = $data =~ /swfArgs\s\=\s\{.*?"t":\s*"([^"]+)".+?"video_id":\s*"([^"]+)"/ ) ++if ( ($a, $b) = $data =~ /'SWF_ARGS'\s*\:\s*\{.*?"t":\s*"([^"]+)".+?"video_id":\s*"([^"]+)"/ ) + { + $url = "http://www.youtube.com/get_video?video_id=$b&t=$a"; + ++ my $fmt_h264 = ($data =~ /'SWF_URL'\s*:\s*.*\.flash\.canPlayH264Videos()/); ++ + $item = $doc->createElement('item'); + $root->appendChild($item); + +@@ -77,6 +79,17 @@ + $item->appendChild( newNode('descr', "") ); + $item->appendChild( newNode('handler', "") ); + ++ if ($fmt_h264) ++ { ++ $item = $doc->createElement('item'); ++ $root->appendChild($item); ++ ++ $item->appendChild( newNode('name', "play: $sname [H.264]") ); ++ $item->appendChild( newNode('url', $url . '&fmt=18') ); ++ $item->appendChild( newNode('descr', "") ); ++ $item->appendChild( newNode('handler', "") ); ++ } ++ + $item = $doc->createElement('item'); + $root->appendChild($item); + +@@ -84,6 +97,17 @@ + $item->appendChild( newNode('url', $url) ); + $item->appendChild( newNode('descr', "") ); + $item->appendChild( newNode('handler', "STREAM_DL") ); ++ ++ if ($fmt_h264) ++ { ++ $item = $doc->createElement('item'); ++ $root->appendChild($item); ++ ++ $item->appendChild( newNode('name', "download: $sname [H.264]") ); ++ $item->appendChild( newNode('url', $url . '&fmt=18') ); ++ $item->appendChild( newNode('descr', "") ); ++ $item->appendChild( newNode('handler', "STREAM_DL") ); ++ } + } + + print $head->toString; ======================================= --- /trunk/gar-minimyth/html/minimyth/document-changelog.txt Thu Nov 12 21:47:43 2009 +++ /trunk/gar-minimyth/html/minimyth/document-changelog.txt Thu Nov 12 23:44:51 2009 @@ -30,6 +30,10 @@ interface. - Fixed a bug that prevented the use of MM_X_TV_TYPE='PAL-BDGHI' with the nvidia video driver. + - Fixed a bug in MythStream's YouTube parser in MythTV trunk caused by a + change in YouTube's web page format. + - Fixed a bug that caused MythStream to crash in MythTV trunk due to + streams.res not being present. Fixed build system - Modified the configure arguments in lib/fontconfig's Makefile so that its ======================================= --- /trunk/gar-minimyth/script/myth-trunk/mythstream/Makefile Tue Oct 13 17:33:09 2009 +++ /trunk/gar-minimyth/script/myth-trunk/mythstream/Makefile Thu Nov 12 23:44:51 2009 @@ -5,9 +5,11 @@ #DISTFILES = $(DISTNAME).tar.gz $(subst -,,$(PARSERS)) DISTFILES = $(GARNAME)_$(GARVERSION).tar.gz PATCHFILES = \ + $(DISTNAME)-youtube_parser_fix_2.patch \ $(DISTNAME)-mythconfig_mak.patch \ $(DISTNAME)-sysroot.patch \ $(DISTNAME)-qt4_header.patch \ + $(DISTNAME)-streams_res.patch \ $(DISTNAME).patch.gar PARSERS = LICENSE = GPL2 ======================================= --- /trunk/gar-minimyth/script/myth-trunk/mythstream/checksums Tue Oct 13 17:33:09 2009 +++ /trunk/gar-minimyth/script/myth-trunk/mythstream/checksums Thu Nov 12 23:44:51 2009 @@ -1,5 +1,7 @@ ba354b83fefe6028c5379fb832a44b6a download/mythstream_mythtv-r21640.tar.gz +b55b8c721f5e349e71c60f2071be6f6e download/mythstream-mythtv-r21640-youtube_parser_fix_2.patch 8f9311f2bf0f1e71cc2697eb9bc260aa download/mythstream-mythtv-r21640-mythconfig_mak.patch 474008d6b4e618b560ceada76ab8ca88 download/mythstream-mythtv-r21640-sysroot.patch 0131d9e05b55141357bc66e2a88a8132 download/mythstream-mythtv-r21640-qt4_header.patch +07a14c3accfa695cd73fa9806981b1c1 download/mythstream-mythtv-r21640-streams_res.patch 43d652348d8ec313b919d57e9e94cfe2 download/mythstream-mythtv-r21640.patch.gar --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "minimyth-commits" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/minimyth-commits?hl=en -~----------~----~----~----~------~----~------~--~---
