PDA

View Full Version : UbuStream v2.1 Beta finally available



ubu
2007-02-25, 09:47 AM
So, after several delays and false starts, the v2.1 Beta release of UbuStream is now available on the UbuStream wiki page (http://gbpvr.com/pmwiki/pmwiki.php/Plugin/UbuStream2). It's fairly stable (at least on my test systems :D ) but, since I have rewritten much of the code pertaining to stream playback, there could be a bug or two. I'd really appreciate some help getting the last kinks out of it so I can officially release it ASAP.

No installer, just unzip to your gbpvr directory. If you have v2.0 installed, your station database will be converted the first time you run the config app. But, as always, back up your UbuStream.xml file to be on the safe side. Make sure to read the README document for specific installation instructions.

New features:

Two new playback options should make using an external media player a thing of the past. Preview Play uses internal players embedded in the UbuStream code to play streams for WMP, RealPlayer, QuickTime and VLC. Timeshift Play uses a new windows recording service to transcode the streams to mpeg-2 or mp3 on the fly so they can be played using GB-PVR's own playback capability.
A revamped and much more usable Channel mode utilizing a custom, UbuStream-friendly version of the ExternalRecorder plugin.
MVP support for most video/audio streams in both List mode and Channel mode via Timeshift Play.
Three different options for recording a stream permanently to disk.
Each station's playback characteristics can be configured individually.
Station config provides a container browser that lets you pick individual stream URLs from an asx, wvx, ram or smil file.
Config app now lets you change the default player for multiple stations in one step by selecting them from a list.
Many cosmetic and usability changes to both the config app and the GB-PVR plugin UI.

FirstTeamOPS
2007-02-25, 05:43 PM
Just trying two WMP streams, streaming itself works but there are a few other issues I noticed. I can't test QuickTime or RealPlayer because I use alternative applications for these.

1. Do I need to leave the recording service open in the system tray? It keeps popping up saying 'running' about every 10 seconds and driving me nuts.

2. I'm not sure what the difference is between 'internal player' and 'external player' but the both do the same thing. When I played the stream both settings, WMP opened and went full screen. To me, that would be external player mainly because I have no control with the remote.

3. When I open GB-PVR click Web Streams -> either All Stations or Ungrouped -> All Stations, it goes back to the GB-PVR main menu and says "Error: Object reference not set to an instance of an object." If I try to go back into Web Streams from the main menu, I get the error again. I have to close GB-PVR and reopen it so I can go back into Web Streams.

Hope this helps!

HTPCGB
2007-02-25, 06:05 PM
Hey ubu,

I've installed the ubustream beta but I'm having problems getting into the configuration console. I get a .net exception dialog that says "Index was outside the bounds of the array." "Web Stream's" does not show up in GBPVR.

FirstTeamOPS
2007-02-25, 06:27 PM
"Web Stream's" does not show up in GBPVR.

In the GB-PVR config app on the plugins tab, make sure 'Web Stream' is above 'Exit.' That's where mine first showed up, but if you move it, it will appear.

For some reason, anything below the Exit plugin doesn't appear in GB-PVR.

HTPCGB
2007-02-25, 06:32 PM
I tried your suggestion but nothing changed. What's strange is that I do have other plugins below exit that do show up.

FirstTeamOPS
2007-02-25, 06:44 PM
Weird. For me they never show up below the Exit one, not sure why. It might be because I reorder the included plugins with GB-PVR when I install it, donno.

ubu
2007-02-25, 07:22 PM
I've installed the ubustream beta but I'm having problems getting into the configuration console. I get a .net exception dialog that says "Index was outside the bounds of the array." "Web Stream's" does not show up in GBPVR.If you click the Details button on the exception dialog, it will show you the exception message. Please attach the message so I can see where the problem is occurring. Also, please attach your config.exe.log (after trying to open the UbuStream config app from the Settings button).

If you are installing over an earlier version of UbuStream, its possible that something in your existing station database is causing this (you could confirm this by removing UbuStream.xml and then trying to open the config app). But I'll know for sure when you post the attachments.

ubu
2007-02-25, 08:21 PM
Just trying two WMP streams, streaming itself works but there are a few other issues I noticed. I can't test QuickTime or RealPlayer because I use alternative applications for these.You can define your "alternative" apps to UbuStream as external players. I've used both RealAlternative and QuickTimeAlternative in the past. (Maybe you're already doing this - just checking :) ).


1. Do I need to leave the recording service open in the system tray? It keeps popping up saying 'running' about every 10 seconds and driving me nuts.No, you don't. The console app is just a simple interface to the service. It doesn't need to be running. The actual service is running as a standard windows service (You can view it under Services if you select Administrative Tools on the Windows control panel.) The console app is mainly useful if you want to debug some problem with the current Timeshift Play process since you can use the Info button to "talk" to the service and also view the current UbuRecordingService log and VLC logs.

And don't even mention the "click" the console makes when it's minimized. That drives me crazy too but I have yet to figure out how to stop it. :confused:


2. I'm not sure what the difference is between 'internal player' and 'external player' but the both do the same thing. When I played the stream both settings, WMP opened and went full screen. To me, that would be external player mainly because I have no control with the remote.There's a big difference. For one thing, the external player is running in a separate process while the internal player is part of the UbuStream app (so I have more control over it) In fullscreen mode, you can also control the aspect ratio of the display and my code uses your overscan settings from your config.xml file to adjust the display to fit your TV screen.

The idea for using embedded players this way came from HTPCGB who developed the early prototypes for WMP and VLC (Thanks HTPCGB, btw :) ). One big advantage of the internal player approach is that they are set up to recognize standard GB-PVR keystrokes so your remote should work with them.

I do have some known issues with the control interface which I'm still working on:
The VLC player responds correctly to GB-PVR commands on one of my test systems but on the other one it responds to "native" VLC commands instead. To date, I've been unable to determine what's causing this.
The WMP seems to stop responding to some commands (such as Pause, Stop, Change aspect ratio, etc.) when playing certain streams. Still investigating this.
On one of my test systems, the WMP player sometimes delays for a couple of seconds before returning to the menu after pressing the Back button.
The RealPlayer and QuickTime players both seem to respond to commands correctly on all the streams I've tested with.Nonetheless, in terms of usability, all the players will respond to Esc and Home (the Back/Exit and Menu buttons on the remote). So, minimally, you can stop the stream and return to the menu with your remote. (Not the case when using external players - you have to customize your irremote.ini file to do this.).

Most WMP streams will also work with the VLC player, so you could try that. I'd be interested in which streams you are playing with WMP when you encounter this problem and also which remote buttons are not working with them


3. When I open GB-PVR click Web Streams -> either All Stations or Ungrouped -> All Stations, it goes back to the GB-PVR main menu and says "Error: Object reference not set to an instance of an object." If I try to go back into Web Streams from the main menu, I get the error again. I have to close GB-PVR and reopen it so I can go back into Web Streams.I can't reproduce this. Do you mean you select All Stations and then select the All Streams button? In any case, please attach your gbpvr.exe.log file (after the error has occurred) so I can see what's causing this on your system.


Hope this helps!Sure does. Thanks very much for your input.

FirstTeamOPS
2007-02-26, 03:49 AM
You can define your "alternative" apps to UbuStream as external players. I've used both RealAlternative and QuickTimeAlternative in the past. (Maybe you're already doing this - just checking :) ).

I saw something that looked like I could configure those but I haven't tried that yet. And those are the alternative applications I'm using as well.



For one thing, the external player is running in a separate process while the internal player is part of the UbuStream app (so I have more control over it)

OK. It's not doing that for me. When I launch any Windows Media stream (no matter if it's set to internal or external), the Windows Media Player app itself opens up, loads the stream, and then goes full screen once the stream starts. To me, I know what I'm saying but it's not coming across as clear as it could be. Set for internal, I would expect to see it embedded in your GUI (much like embedding in a web page) and still be within GB-PVR, but I am not. It takes me back to Windows and I see the taskbar. I have to physically close Windows Media Player to get back to GB-PVR and the remote commands do not work.



I can't reproduce this. Do you mean you select All Stations and then select the All Streams button? In any case, please attach your gbpvr.exe.log file (after the error has occurred) so I can see what's causing this on your system.

Yes, that is one way. The easiest way to reproduce this:
Open GB-PVR.
Click Web Streams.
Click Stations (which brings up 8 buttons on the left (groups, play, stop, etc.) and the two streams I have programmed in the box to the right).
Click All Streams.
Get error.


Sure does. Thanks very much for your input.
Happy to help. Let me know if you need anything else.

Here's my log:

ubu
2007-02-26, 06:55 AM
I saw something that looked like I could configure those but I haven't tried that yet. And those are the alternative applications I'm using as well.As long as a player can be invoked from the command line with the stream URL as an argument (and some kind of argument that will switch it to fullscreen, if you are using fullscreen mode) it can be used as an UbuStream external player. That's actually been available ever since v1.0.


OK. It's not doing that for me. When I launch any Windows Media stream (no matter if it's set to internal or external), the Windows Media Player app itself opens up, loads the stream, and then goes full screen once the stream starts. To me, I know what I'm saying but it's not coming across as clear as it could be. Set for internal, I would expect to see it embedded in your GUI (much like embedding in a web page) and still be within GB-PVR, but I am not. It takes me back to Windows and I see the taskbar. I have to physically close Windows Media Player to get back to GB-PVR and the remote commands do not work.No, that's clear. I understand what you're saying. So, when you say "launch", which method are you using to launch the stream? ie: You should be able to start the stream playing by selecting the Play button on the menu (or by pressing the Play button on your remote), in which case the station should be launched using the playback mode (Preview, Timeshift or External player) that you have defined for that particular station. Or, you can start the stream from the pop-up dialog that appears when you select a station by explicitly selecting the Preview Play, Timeshift Play or External Player button on the dialog. This latter method should force playback to the mode you have chosen.

I can't figure out how the external player is getting launched if, for example, you select the Preview Play button. I would know more if I could see your UbuStream.xml file (see next item).


Yes, that is one way. The easiest way to reproduce this:
Open GB-PVR.
Click Web Streams.
Click Stations (which brings up 8 buttons on the left (groups, play, stop, etc.) and the two streams I have programmed in the box to the right).
Click All Streams.
Get error.This does look like a bug. From your log, I can see generally where in the code this problem is happening but not why it's happening. Can you please attach your UbuStream.xml file so I can see what data might be triggering this? That will also allow me to exactly reproduce the problem on my test system.

HTPCGB
2007-02-26, 10:23 AM
Sorry for the delay ubu; here are the logs.

ubu
2007-02-26, 11:09 AM
Sorry for the delay ubu; here are the logs.The error is coming from DirPath, which is a little class I use to set all the folder names I need. Here's what it does:

1) Gets your gbpvr install dir from the registry. This should be OK unless you're running Vista or something. :)
2) Reads your config.xml file and tries to get the values for <MusicLibraryDirectory> and <VideoLibraryDirectory>.
3) If it can't find them, tries to use Environment.SpecialFolder.MyMusic and Environment.SpecialFolder.Personal instead (should equate to "My Documents\My Music" and "My Documents" on XP systems).

The code for step 2 isn't quite as bulletproof as I'd like it to be (should probably rewrite it anyway) so that's the most likely candidate.

BTW - thanks once again for coming up with the embedded overlay player idea and building the WMP and VLC prototypes. They're now part of the UbuNetStreamPlayer.dll library. As you can see, I went ahead and did the RealPlayer and QuickTime ones as well (I would have done Winamp as well but it looked way too flaky). As you may have read earlier in this thread, I still haven't got the keystroke handling for WMP and VLC to work quite as advertised. :(

ralphy
2007-02-26, 12:18 PM
Oh dear! Good thing I've got a second machine to test this beta on, otherwise there'd be hell to pay in the household screwing things up again!

I can't started with any of the dynsources! Having also removed ubustream.xml and starting over, I still have the same problem namely:

After checking one or more sections and then execute, I get error message
"No sections are currently selected for :[dynsourceapp]". No sections are copied across to the 'Selected Sections' panel either.
So I then thought, ok, I need to configure, but then after selecting the defaults, and then save, I get a windows execution "Column Aspect_Ratio does not allow nulls."

I note that one can now choose the aspect ratio, however don't the streams have defaults? I noted your comment in another thread (http://forums.gbpvr.com/showthread.php?t=24578) on OzABCDynsource the suggested you were initially seeing the ABC videos in 4:3, but they are actually widescreen 16:9. Interestingly, my WMP automatically selected the correct aspect ratio - it must be in the default settings, because I didn't do anything intentionally to select 16:9. My concern is that with these new advanced options the wrong setting might be chosen by the user. Can't the player automatically detect the clip aspect ratio and left the player play the default - WMP seems to do this correctly for me in full screen mode?

HTPCGB
2007-02-26, 08:40 PM
As you may have read earlier in this thread, I still haven't got the keystroke handling for WMP and VLC to work quite as advertised. :(

Are you still handling keypresses on a form level basis using (this.keypreview = true) and then suppressing the keystrokes? I remember that this worked quite well for the embedded VLC player.

ubu
2007-02-26, 10:53 PM
Oh dear! Good thing I've got a second machine to test this beta on, otherwise there'd be hell to pay in the household screwing things up again! You think you've got problems! My "production" machine stopped recording the Oscars when the EPG said the show was scheduled to end last night. So it missed the last two hours of the Oscars. WAF is now close to zero. :o


I can't started with any of the dynsources! Having also removed ubustream.xml and starting over, I still have the same problem namely:

After checking one or more sections and then execute, I get error message
"No sections are currently selected for :[dynsourceapp]". No sections are copied across to the 'Selected Sections' panel either.
So I then thought, ok, I need to configure, but then after selecting the defaults, and then save, I get a windows execution "Column Aspect_Ratio does not allow nulls."Whoops! It's not often I blame Microsoft (I'm sure MS software never contains bugs :) ) but I do notice that every once in a while the C# Visual Studio designer will just lose one or more of the event handler definitions. In this case, I made a couple of small cosmetic changes to the config app's UI just before uploading the zip to the wiki and the handler for the DynSource section selection checkboxes appears to have got wiped out in the process. (You might not have noticed, but the sections you selected weren't actually showing up in the slected sections list.) I'll go through all the "clickable" items to make sure the handlers are still there and upload a "fixed" version to the wiki later today.

The second item is my bad. Trouble is, I test everything with a fully populated database but, when I then switch to testing with a fresh, empty database, I never manage to test every function. I'll fix that today too. Thanks for catching both these bugs so promptly.


I note that one can now choose the aspect ratio, however don't the streams have defaults? I noted your comment in another thread (http://forums.gbpvr.com/showthread.php?t=24578) on OzABCDynsource the suggested you were initially seeing the ABC videos in 4:3, but they are actually widescreen 16:9. Interestingly, my WMP automatically selected the correct aspect ratio - it must be in the default settings, because I didn't do anything intentionally to select 16:9. My concern is that with these new advanced options the wrong setting might be chosen by the user. Can't the player automatically detect the clip aspect ratio and left the player play the default - WMP seems to do this correctly for me in full screen mode?I'm trying to handle all the possibilities you might encounter. This varies based on the stream itself, whether you're using Preview or Timeshift, whether you are using an MVP, the characteristics of your TV (overscan, etc.). So there isn't a simple answer to your quesion. The "aspect ratio" section of the README file attempts to address the different options.

In Preview Play, the internal player will initially display the video using the aspect ratio the player has chosen (this will be exactly the same as if you'd used the external player). Most often, the player will detect the aspect ratio from the stream and get it right. Pressing F7 (or Sub/CC) the first time will show the same image but adjusted for the overscan on your TV (using the overscan settings you have defined in config.xml). Usually, these two options will be all you need. But for "problem streams" Subsequent F7 presses will cycle through "forcing" the image to 16:9, 16:10 and 4:3. I'm waiting for feedback from users with different kinds of setups, playing different streams to see if I've got the algorithm right so I can adjust it for the "real world".

The aspect ratio settings on the advanced station config window are only used by Timeshift Play. They provide instructions to the transcoder for the size of the output mpeg2 video image. They are likely to be most useful for MVP users.

FirstTeamOPS
2007-02-27, 04:30 AM
No, that's clear. I understand what you're saying. So, when you say "launch", which method are you using to launch the stream?
Ah, there is a difference... and I noticed something weird which seems more like a logic error in the code where something isn't set until the second call of the Play function (having done a little programming myself). The first time I click any stream and click the Play button, the stream opens externally. I close WMP. Every time after the first time clicking Play, it opens internally.

I'll tell you what I'm doing from the mouse to make it simple. Close GB-PVR and re-open. I am at the Stations window (Web Streams -> Stations). I'll use a stream I have setup to make it a little simpler.

I have WJR & WLS programmed in (yea, I'm a talk radio junkie ;) ). Anyway,
I click WJR and click the Play button, it opens externally in WMP.
I close WMP.
I click WJR and click the Play button a second time, it opens internally (with your comic :) ).
Close GB-PVR, re-open (just to show all code is reset), and back at the Stations window.
If I double click WJR and click Preview Play, it always opens internally.

And when I say it's opened internally, that also means I have control of it with the remote (ie Back/Exit).


This does look like a bug. From your log, I can see generally where in the code this problem is happening but not why it's happening. Can you please attach your UbuStream.xml file so I can see what data might be triggering this? That will also allow me to exactly reproduce the problem on my test system.
There it is: Good Luck! :D and as always, let me know if you need anything else.

ubu
2007-02-27, 05:04 AM
Are you still handling keypresses on a form level basis using (this.keypreview = true) and then suppressing the keystrokes? I remember that this worked quite well for the embedded VLC player.Funny you should mention that. I switched to using the VLC plugin control's PreviewKeyDown event (with KeyPreview still switched on for the form) and that seemed to work just as well. I figured that was maybe how you were "meant" to do it (plus I could use regular Keys enum types instead of having to save away the Keycodes). And it works fine on my test system, but on my production system, VLC still grabs the keystrokes (except for Esc and Home) so now I'm wondering if it's a timing issue and if your "keystroke timer" approach was right all along. (Wierd, because the two systems are pretty much equivalent except the production system has more RAM).

Did you get anywhere with your install problem? I forgot to mention in my last post that, if you let me have the <MusicLibraryDirectory> and <VideoLibraryDirectory> lines from your config.xml file, that might give me a clue. If that doesn't give us a "smoking gun", then I'll cut you a version of the plugin with a whole bunch of log messages so we can see what's happening in DirPath.

ubu
2007-02-27, 05:40 AM
So here's an update to the beta: 9612
Just replace UbuStreamPlugin.dll in your Plugins directory. This should fix the following:



After checking one or more sections and then execute, I get error message
"No sections are currently selected for :[dynsourceapp]". No sections are copied across to the 'Selected Sections' panel either.
So I then thought, ok, I need to configure, but then after selecting the defaults, and then save, I get a windows execution "Column Aspect_Ratio does not allow nulls."Your sections should now show up in the selected sections list (and a new group under "Groups" in the tree) when you check the section. Your DynSource app is now working for me when I press Execute. The aspect ratio is now getting set correctly the first time you configure a DynSource.


3. When I open GB-PVR click Web Streams -> either All Stations or Ungrouped -> All Stations, it goes back to the GB-PVR main menu and says "Error: Object reference not set to an instance of an object." If I try to go back into Web Streams from the main menu, I get the error again. I have to close GB-PVR and reopen it so I can go back into Web Streams.
Open GB-PVR.
Click Web Streams.
Click Stations (which brings up 8 buttons on the left (groups, play, stop, etc.) and the two streams I have programmed in the box to the right).
Click All Streams.
Get error.Now works as advertised. It was trying to find the media player icon for a station called "No stations matching type/group to display". Not surprisingly, it couldn't. :)

I'm still chasing your problem with the external version of WMP being used instead of the internal one the first time you use it. I can reproduce this on my test system using your UbuStream.xml file. I'll let you know when I've found the bug.

ubu
2007-02-27, 05:58 AM
cant get rid of uburecordingservicecontroller.exe (trying to do a fresh install)

get access is denied all the time i try to delete it, what am i doing wrong?UbuRecordingService is running as a Windows service so you have to stop it and uninstall it first. Open the UbuRecordingService Controller window (use the shortcut). Click the Stop button. When it has stopped, click the Uninstall button. It might take a couple of secs to uninstall. Then close the window and you should be able to remove the UbuRecordingService directory (and/or its files). Let me know if you have any problems with it.

ubu
2007-02-27, 06:59 AM
Download: 9614
Unzip to your Plugins folder. In addition to the bugs fixed in Patch1 (see my earlier post), this one fixes:


... and I noticed something weird which seems more like a logic error in the code where something isn't set until the second call of the Play function (having done a little programming myself). The first time I click any stream and click the Play button, the stream opens externally. I close WMP. Every time after the first time clicking Play, it opens internally.Pesky uninitialized variable. I've mainly been testing playing streams from the pop-up dialog (since it's my "new baby", UI-wise) so I missed this one. Well caught!

HTPCGB
2007-02-27, 10:26 AM
I forgot to mention in my last post that, if you let me have the <MusicLibraryDirectory> and <VideoLibraryDirectory> lines from your config.xml file, that might give me a clue.

There's your problem. I did not have any directories configured for music. I added a directory to the music directory list and Ubusteam works. :)

FirstTeamOPS
2007-02-27, 05:03 PM
Unzip to your Plugins folder. In addition to the bugs fixed in Patch1 (see my earlier post)

Not sure what else changed, but just unzipping to the plugins folder and replacing the beta 280K dll with the beta patch 2 284K dll knocked everything out. Web Streams does not appear in GB-PVR or in the Config app. I tried beta patch 1 just to see and the same thing happened.

If I go back to the beta 280K dll, everything re-appears.

There is an error in the gbpvr.exe.log so I attached it


2/27/2007 12:56:34 PM.140 INFO [1] UbuRadio plugin is loading...
2/27/2007 12:56:34 PM.187 ERROR [1] Error initializing menu plugin: C:\Program Files\devnz\gbpvr\plugins\UbuStreamPlugin.dll
2/27/2007 12:56:34 PM.187 ERROR [1] Exception has been thrown by the target of an invocation.
2/27/2007 12:56:34 PM.187 ERROR [1] at System.RuntimeTypeHandle.CreateInstance(RuntimeTyp e type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache)
at System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at GBPVR.Backend.Common.xc4f12ec3a8a4c96b.xb77fa95273 e0c228(Boolean x8bae2a88590d8cc0)
2/27/2007 12:56:34 PM.187 ERROR [1] Inner exception: System.TypeLoadException: Could not load type 'GbpvrUiElements.Utilities' from assembly 'GbpvrUiElements, Version=0.5.2533.28042, Culture=neutral, PublicKeyToken=null'.
at UbuStreamPlugin.UbuStreamPluginTask..ctor()
2/27/2007 12:56:34 PM.187 ERROR [1] at UbuStreamPlugin.UbuStreamPluginTask..ctor()

ubu
2007-02-27, 06:58 PM
There's your problem. I did not have any directories configured for music. I added a directory to the music directory list and Ubusteam works. :)That's a relief. On further inspection, my code was assuming that, if you had an entry for a Video Library directory, you'd also have one for a Music Library.

I'm getting flashbacks of my college assembly language teacher writing on the whiteboard:
"When you assume, you make an ass of u and me". :eek:

ubu
2007-02-27, 07:07 PM
Not sure what else changed, but just unzipping to the plugins folder and replacing the beta 280K dll with the beta patch 2 284K dll knocked everything out. Web Streams does not appear in GB-PVR or in the Config app. I tried beta patch 1 just to see and the same thing happened.

If I go back to the beta 280K dll, everything re-appears.

There is an error in the gbpvr.exe.log so I attached itOMG. I'm sorry. I totally forgot. :eek: A new version of the GbpvrUiElements library was just released and it fixed another problem in my code so I switched to using it. You'll need to update your copy of GbpvrUiElements.dll. (http://gbpvr.com/pmwiki/pmwiki.php/Development/GbpvrUiElements) to v0.6.

FirstTeamOPS
2007-02-27, 07:30 PM
OMG. I'm sorry. I totally forgot. :eek: A new version of the GbpvrUiElements library was just released and it fixed another problem in my code so I switched to using it. You'll need to update your copy of GbpvrUiElements.dll. (http://gbpvr.com/pmwiki/pmwiki.php/Development/GbpvrUiElements) to v0.6.

Very good. I upgraded UI and all is well my friend! Props for the plugins you write and the time you put in... because as you can see below I'm using most of them. :D

ralphy
2007-02-28, 12:56 PM
After several false starts, and quick to post some questions and then finding the problem, I've finally got a couple of minor comments/problems, and a major one.


When using the internal player, I have no mouse pointer, so can't right click and easily select options
Autosync doesn't seem to work. But 'Test Import' in UbuStreamConfig will populate the xml file ok.
What happened to next and previous groups? They are very useful buttons!
I also have two "web streams" in GBPVR config plugins page, but only one displays (fortunately).

Something odd has now happened since UbuStream won't start. Here are the log files. I have no idea where the referenced www.africahits.com came from! I didn't select it intentionally, and can't find a reference to it in the xml file.

ubu
2007-02-28, 09:23 PM
Something odd has now happened since UbuStream won't start. Here are the log files. I have no idea where the referenced www.africahits.com (http://www.africahits.com) came from! I didn't select it intentionally, and can't find a reference to it in the xml file.LOL when I realized why this is happening. I'll respond to your other issues separately but I wanted to get you back up and running. I think, if you uncheck "AutoSynch station database at startup" on the Options->General panel, UbuStream will start OK.

This bug is typical of how I tend to shoot myself in the foot with my development environment. I do all my coding/testing on a laptop (sitting on the couch :) ) with remote sessions open to my development/test machine upstairs in my office and to my "production" machine attached to the TV across the room. I'd got the beta release just about ready to release when I suddenly had the "bright idea" of adding the ability to pass command line arguments to dynamic source apps. So I quickly added the code to support that feature (for "future use"). Tested it. It didn't break anything. It was all good.

So then I started testing a bunch of different streams on my production box. I was using the browser on my dev machine to find URLs and then using Ctrl-C to copy them, then switching to my production machine and pasting them into the UbuStream config app. At one point, cut and paste seemed to stop working. So I was wildly hitting Ctrl-C and Ctrl-V to try to get it working again. I still had the UbuStream source code open in a window on my test machine, hidden behind my browser (and with the cursor still in the DynSource command line argument code). Somehow it must have got focus because, when I looked at it just now, I had pasted the URL for africahits.com right in the middle of the database definition for the new command line argument. :o

I'll send you the rest of my response (and a fixed copy of the plugin dll) in an hour or so.

EDIT: And delete (or rename with a different extension) UbuStreamPlugin.old.dll. GB-PVR will try to load anything with a "dll" extension in the Plugins directory, thinking it's a plugin. That's why you're getting WebStreams twice on the menu in the config app. (and why you get the "africahits" exception twice in your log :) ).

ubu
2007-03-01, 01:02 AM
After several false starts, and quick to post some questions and then finding the problem, I've finally got a couple of minor comments/problems, and a major one.Well you're doing a great job with testing this beta. You're finding all the stuff I can so easily miss. And I really appreciate your comments about my "design decisions". I tend to get a lot of feedback about things that don't work but not many comments about features people like/dislike or which features they use or don't use. For instance, I've just spent several months working on MVP support but I've no idea how many people actually use (or want to use) UbuStream with an MVP. Until you wrote your DynSource app, I'd no idea if people were actually using the DynSource capability and whether I should focus on enhancing it or just forget it. Same with the interface to the WWMP site. Does anybody use that? I've no idea because nobody tells me.


When using the internal player, I have no mouse pointer, so can't right click and easily select optionsIs this just with one of the players or with all of them? (Each one is a different class with different code). I have a mouse pointer when I use them but clicking the buttons when a stream is playing is, at best, iffy. Each time I get the keystroke/remote interface to work better, I seem to screw up the mouse interface. I just haven't had time to go through each player and figure out all the issues. My main reason for introducing the internal player feature was to support users watching streams in full screen mode on their TV (and using a remote control) so they wouldn't have to deal with the "which app has focus" issue and with tweaking their remote control config to control the player. For people using UbuStream in windowed mode on their PC, I figured the original external player approach was probably working OK. So my plan was to actually remove the buttons from the internal player and to forget about supporting the mouse interface. What do you (or anybody else) think?


Autosync doesn't seem to work. But 'Test Import' in UbuStreamConfig will populate the xml file ok.Most likely related to the "africahits.com" problem.


What happened to next and previous groups? They are very useful buttons!This is a great example of what I'm talking about. I had quite a lot of requests to provide a two level UI (group screen and station screen) instead of the original Next Group and Prev Group buttons. So I introduced that for v2.0. But supporting both techniques for navigating groups was making my code quite complex and I had too many buttons on the menu (scrollable menus tend to confuse people, I find). Since nobody mentioned it, I assumed nobody was using these buttons so I removed them (and the underlying code). Not sure what to do now. Maybe I should put the code back, but only support the Next/Prev buttons on the remote control and still leave the buttons off the menu? Or maybe I should use the forum "poll" feature so people can vote on it.


I also have two "web streams" in GBPVR config plugins page, but only one displays (fortunately).See my earlier post.

Here's the latest fix (sans "africahits"): 9646 The "AutoSynch station database at startup" feature should work again.

ralphy
2007-03-03, 04:35 AM
Some possible problems with patch 3, and some feedback on the app.


When I click the preview button, I usually get the external player (WMP), but occasionally get the internal player. I'm having trouble trying to replicate the problem consistently. Restarts of GB-PVR and fresh ubustream.xml don't seem to help narrow down the problem. In fact, right now, I don't seem to be able to get anything to run with the internal player. Seems to be similar to the problem FirstTeamOps reported earlier.
When I hit 'record', I got a "Com Object that has been spearated from its underlying RCW ...." error. Don't know if I can repear this error, or if the logs below captured it.
The mouse problem not appearing in the internal player is with WMP. I haven't tested any other players yet.
I also have experienced a big pause when exiting the internal WMP player



My main reason for introducing the internal player feature was to support users watching streams in full screen mode on their TV (and using a remote control) so they wouldn't have to deal with the "which app has focus" issue and with tweaking their remote control config to control the player.

I can see how this can be a problem, but for me, always running full screen on a TV, this was never a problem. With the hauppauge 45 key remote, hit the green button twice and I'm back to GB-PVR. To be honest, I'm not sure if I'll use the internal players.


I tend to get a lot of feedback about things that don't work but not many comments about features people like/dislike or which features they use or don't use.



First of all, I love the plugin. I use it primarily to watch video-on demand news streams. I have also used it to listen to radio (asx), but less so now. I haven't tried UbuRadio yet (BTW, GB-PVR NetRadio does handle non-shoutcast (http://forums.gbpvr.com/showthread.php?p=165654#post165654)files too). As an Aussie, my favorites are ABC and NineMSN (I'll post this dynsource app soon), and these streams are usually good quality, although of late, the internet bandwidth has been a bit of a problem. No MVP in this household!

What would be nice:

When using the internal player, a message showing buffering progress would be useful feedback that something is actually going on. (The internal player splash image was funny at first, but I think seeing it all the time might get on the visual nerves! ).
When starting up Ubustream Config for the first time, there's no feedback that anything is going on. A new user might be tempted to click on the config several times (as I did - on than one occassion) since the panel can take a long time to appear (internet connection related?)
If the autosynch button remains, some form of progress indicator would be useful (eg which group is currently being scraped / how many to go). (Thanks for the standalone update app.9672 Haven't tested it yet on my production system yet, since the app needs 2.1. Wiki notes forthcoming!)
I like the prev-next group buttons. I like to scroll through the titles within a group to see what catches my eye. V2.1 doesn't let me do this anymore without having to press several more remote control buttons. Please, please bring this back.
The details screen is nice. What I think would be nicer is a pop up that appears showing the description of the webstream, so that as I scroll through the titles, I can see what the clip is all about. The present solution of selecting the item and then selecting the player/timseshift requires backing up to get to the next item - several more button presses on the remote control. The same popup could display a jpg image (I'm working on a prototype, but progress is slow, starting from a zero knowledge base of C# and writing GB-PVR plugin apps, I may get nowhere fast - or at all :D )
What would also be nice is an extension of autosync to allow downloading and caching of favorite dynsource groups (in my case, news and current affairs) at regular intervals. Perhaps this is something that can be done in channel mode. I've never tried channel mode.


Having said all that, you've got a fantastic plugin Ubu. Thanks:)

ubu
2007-03-03, 09:08 PM
Some possible problems with patch 3, and some feedback on the app.Thanks very much for your detailed critique. I'll respond to your comments/suggestions later this weekend when I've had a chance to mull them over. Meanwhile, I'll focus on the problems you're experiencing:


When I click the preview button, I usually get the external player (WMP), but occasionally get the internal player. I'm having trouble trying to replicate the problem consistently. Restarts of GB-PVR and fresh ubustream.xml don't seem to help narrow down the problem. In fact, right now, I don't seem to be able to get anything to run with the internal player. Seems to be similar to the problem FirstTeamOps reported earlier.Well, the problem FirstTeamOps had was easy to reproduce: External player the first time in; Internal player thereafter. And I have fixed that bug. So this is something different. I'm at a bit of a loss as to how clicking Preview Play could invoke the external player at all. The log you sent me didn't appear to show this happening. Occasionally, when my code triggers a really ugly exception, the GB-PVR UI code seems to go completely to hell in a handbasket (brings up the station web viewer whatever button/key I press, for instance) so I'm wondering if it's something like that. If you can get a reproduceable case for a specific station and send me the log (and your UbuStream.xml file) I'll know more.


When I hit 'record', I got a "Com Object that has been spearated from its underlying RCW ...." error. Don't know if I can repear this error, or if the logs below captured it.This was a bug. From your log, it looks like you were playing a station when you hit the Record button. My code created a new NetStreamPlayer object for your recording and then tried call the StopPlayer method on the old object (which was no longer there). So I've switched it to do this the other way round.

BTW - I stop any existing stream playback because the recording process needs all the bandwidth it can get. Theoretically, you could record one stream while listening to another one, but I'm not risking it. The Snapshot feature is quite different. You can hit snapshot whenever you like while listening to a stream and it will simply take a copy of the transcoded file to date. (So you can hit Snapshot multiple times during the same stream and it will simply replace the copy with a bigger one each time). Both Snapshot and Record can only be used with stations that work with Timeshift Play (I guess that's obvious. Just re-stating it for anyone reading this who is unclear about it.)


The mouse problem not appearing in the internal player is with WMP. I haven't tested any other players yet.Be interesting to know if it happens with the other players. What do you think of my suggestion that I simply remove the mouse/button interface from the internal players on the assumption that a mouse user would use the external players instead?


I also have experienced a big pause when exiting the internal WMP playerThis is a wierd one. It does the same thing for me on my production machine, but not on my test machine. As far as I can see, they're identical (same version of WMP, same activex dlls, etc.). I simply close the form (and dispose the player object) when you press Back/Home, which works fine with all the other players. Even on my production machine, the problem is somewhat intermittent (the delay length varies). So I'm still looking for a "smoking gun".

ralphy
2007-03-04, 12:16 PM
Well, the problem FirstTeamOps had was easy to reproduce: External player the first time in; Internal player thereafter. And I have fixed that bug. So this is something different. I'm at a bit of a loss as to how clicking Preview Play could invoke the external player at all. The log you sent me didn't appear to show this happening. Occasionally, when my code triggers a really ugly exception, the GB-PVR UI code seems to go completely to hell in a handbasket (brings up the station web viewer whatever button/key I press, for instance) so I'm wondering if it's something like that. If you can get a reproduceable case for a specific station and send me the log (and your UbuStream.xml file) I'll know more.


Quick further testing suggests that sometimes when selecting the station, 'external player' is first highlighted. When this happens, and then selecting preview seems to play the external WMP. On other stations, 'preview' is highlighted when selecting the station, and when selecting preview, the internal player starts.

I have no idea why 'external' is highlighted first.

Does this help?

ubu
2007-03-04, 06:39 PM
Quick further testing suggests that sometimes when selecting the station, 'external player' is first highlighted. When this happens, and then selecting preview seems to play the external WMP. On other stations, 'preview' is highlighted when selecting the station, and when selecting preview, the internal player starts.

I have no idea why 'external' is highlighted first.

Does this help?When you create a station in UbuStream config, you get to choose between Preview, Timeshift and External play modes as the "default" play mode for that station. This default play mode is the one that will be used when you press the Play button on the menu (or the Play button on your remote). When you open the pop-up dialog for that station, the play button that is highlighted is the default play mode you chose for the station (so just pressing Enter/OK will use that mode). You can also choose to use a different mode by selecting a different button.

So - it sounds like you're saying that your station is switching between highlighting External Play and Preview Play but without you changing the default mode in the config app? If so, let me have a copy of your UbuStream.xml file so I can try to reproduce the problem.

ubu
2007-03-04, 07:30 PM
My questions had to do with the sizing, and command line tweaks. If I enter a size in both the height width boxes for both the time shifter and for the dynamic source, which gets used? I also noticed (I think) that the sizes arent applied until an autosync update is done. That wasn't clear right away, and I spent some time adjusting sizes and seeing no changes at all. You may want to explain that a bit.
Also, when/where are the sizes applied to the parm string? All the values entered on the advanced station config panel apply to just that station alone. Checking one of the aspect ratio radio buttons will change the height and width fields to preset values (a "best guess") but, if you choose "Custom", you can also manually enter your own values in those fields (boxes). You will notice that every time the values in these fields is changed, the height/width values in VLC parameter string shown below also changes. You can use the Edit button to manually change the parm string so you can tweak it for any special needs for that station (but, if you change the height/width values in the parm string, the numeric fields on the panel will no longer work, since they will not be aware of the changed values). The canvas height/width values in the parm string are taken from the global "display" height/width fields which you can set in the Options->Timeshift panel.

All these settings apply only to Timeshift Play. For Preview Play, the F7 key (Sub/CC button) toggles through a fixed set of aspect ratio options. The Timeshift settings are especially useful for MVP users since the canvas settings allow them to force the outer edges of the video image to fit the TV they are using and the station height/width settings should allow them to force any video stream to display in the correct aspect ratio. (It might take several iterations of fiddling with the values to get some "problem" stations to look right though).

DynamicSources automatically create stations each time they are executed. So you can provide a "template" for these stations by using the DynamicSource config panel (and its associated advanced settings dialog). All the values you use there (including the media player, the default play mode and all the Timeshift settings) will be used for all the new stations created by UbuStream when it reads the PLX file created by the DynSource app. Therefore, any changes you make to the DynSource settings (including height/width) will not actually show up until the next time the DynSource download occurs (either via AutoSynch, executing the app from the config panel or by executing the new UbuDynSourceUpdate.exe app). If you have chosen the "Retain existing stations" options, the old stations will not reflect the new settings but must be changed manually.

ubu
2007-03-04, 10:01 PM
I can see how this can be a problem, but for me, always running full screen on a TV, this was never a problem. With the hauppauge 45 key remote, hit the green button twice and I'm back to GB-PVR. To be honest, I'm not sure if I'll use the internal players. A lot of people don't feel comfortable editing their irremote.ini to configure the green button to do that. Also not everybody has an Hauppauge remote. Some people use WinLirc IR and also RF remotes. The internal players give me a lot more control over playback (OK, I haven't ironed out all the wrinkles yet, but....:p ) so I think it's a good direction to be taking. I use them a lot simply because of the ability to change the aspect ratio with my remote. All my TVs suffer from overscan and, since the aspect ratio toggle picks up my overscan adjustment settings from config.xml, I can usually get the video to look perfect on the TV. Your ABC news streams, for instance, look best when I choose 16:10 with overscan adjustment.


I haven't tried UbuRadio yet (BTW, GB-PVR NetRadio does handle non-shoutcast (http://forums.gbpvr.com/showthread.php?p=165654#post165654)files too). Yes, but what a hassle to set up. And it only works for WMP streams, not for RealAudio, QuickTime, OggVorbis, etc. (And a lot of people's favourite streams are RealAudio only - many of the BBC ones, for instance).

UbuRadio is intended for people who just want to play the streams with minimum configuration headaches. As a result, it's not very flexible but, hopefully, very easy to use. UbuStream, on the other hand, is meant to be more of a Swiss army knife for web streams, allowing a bunch of different options and configuration capabilities but, perhaps, it's less of a "no-brainer" to set up and use.

I've started a new thread for discussing design issues (http://forums.gbpvr.com/showthread.php?p=181181), so I'll post my comments on your other suggestions there.

ubu
2007-03-05, 09:26 AM
I've just uploaded what I'm optimistically calling "Release candidate 1" to the wiki. Stuff I've added:
New splash screen for the initial run of the config app.
Changed the Play Group function to always build the playlist with the stations in the order they were added rather than sorted alphabetically (that used to make for some pretty strange playlists when it did that with DynSource news stories :) ).
Added UbuDynSourceUpdate.exe, which is a new standalone app to run the AutoSynch process. When used with the Windows scheduler or added to your UpdateEPG.bat file, this will automatically keep your DynSource items up to date.
Fixed a few more bugs.Mainly, I've wrapped it all up in an installer program. If anybody has the time, I'd really appreciate if you would test it for me (especially if you're running XP64 - I don't have that installed so can't test if my XP64 install code is working). Probably good to take a copy of your gbpvr directory structure before you start, just in case, but I've tested it to the point that I'm pretty sure it won't do anything spectacularly disastrous. It will add an UbuStream folder to your start menu and has all the usual Setup bells and whistles, including an Uninstall program.

EDIT: The installer now installs the GbpvrUiElements and CommonGbpvrUtilities libraries but detects the date of the existing dlls and will not overwrite any newer versions. The same holds true for the UbuRecordingService components and the UbuNetStreamPlayer dll, which are also used by UbuRadio, thus enabling staggered releases of each plugin in the future without the risk of breaking the other plugin. At least that's the theory. :)

ralphy
2007-03-05, 11:18 AM
When you create a station in UbuStream config, you get to choose between Preview, Timeshift and External play modes as the "default" play mode for that station. This default play mode is the one that will be used when you press the Play button on the menu (or the Play button on your remote). When you open the pop-up dialog for that station, the play button that is highlighted is the default play mode you chose for the station (so just pressing Enter/OK will use that mode). You can also choose to use a different mode by selecting a different button.

Since I am not creating a station but am using a dynamic source, I presume the 'playback type' in the advance options choses the default player. In my case, even if I select "preview" in the advanced config, the external button is displayed in the pop-up. I noted in the xml file that


<Use_Internal_Player>false</Use_Internal_Player>
<Use_Timeshift_Player>false</Use_Timeshift_Player>

was set for the 'offending' streams.


So - it sounds like you're saying that your station is switching between highlighting External Play and Preview Play but without you changing the default mode in the config app? If so, let me have a copy of your UbuStream.xml file so I can try to reproduce the problem.

I think so. BTW, I had a suspicion that sometimes changes made in config were not being saved back to the xml file, and sometimes in the past have done a 'save as' just to be sure. I haven't been able to tell if this is the problem here.


Yes, but what a hassle to set up. And it only works for WMP streams, not for RealAudio, QuickTime, OggVorbis, etc. (And a lot of people's favourite streams are RealAudio only - many of the BBC ones, for instance).
I must confess that once I found UbuStream, I disabled GBPVR net radio and switched to UbuStream. ;)

happyhammer
2007-03-05, 03:16 PM
I only use gbpvr with MVP's.

When i tried ubstream 2.0, i always got stuck with a buffering message.

I've tried deleting everything to do with UBstream ,as was in a previous thread and start a fresh install with 2.1 but still it won't let me install the ubustreamrecordingservice, get message "cannot open on computer"

the install log has these interesting bits:

An exception occurred during the Install phase.
System.ArgumentException: Source UbuRecordingService already exists on the local computer.

The Rollback phase completed successfully.
The transacted install has completed.
The installation failed, and the rollback has been performed.

So it seems there is some prior UbuRecordingService remnant hanging around, screwing me up?

ubu
2007-03-05, 09:13 PM
I only use gbpvr with MVP's.

When i tried ubstream 2.0, i always got stuck with a buffering message.Most likely either you weren't setting the wait times long enough or VLC was having difficulty transcoding the stream you were using. UbuStream 2.0 has pretty limited support for MVPs. You should find v2.1 a lot more MVP-friendly.


I've tried deleting everything to do with UBstream ,as was in a previous thread and start a fresh install with 2.1 but still it won't let me install the ubustreamrecordingservice, get message "cannot open on computer"

the install log has these interesting bits:

An exception occurred during the Install phase.
System.ArgumentException: Source UbuRecordingService already exists on the local computer.

The Rollback phase completed successfully.
The transacted install has completed.
The installation failed, and the rollback has been performed.

So it seems there is some prior UbuRecordingService remnant hanging around, screwing me up?Does UbuRecordingService still show up on the Services window (Control Panel->Administrative Tools)? I take it you've tried using the Uninstall button on the UbuRecordingService Controller dialog? Probably the uninstall log might be more revealing than the install log (since your log tells us that Windows clearly thinks the service is still installed).

The "brute force and ignorance" approach would be to uninstall it manually by using this command from a DOS window:


C:\Windows\Microsoft.NET\Framework\v2.0.5727\Insta llUtil.exe /u <your gbpvr directory>\Plugins\UbuStream\UbuRecordingService\UbuRecordin gService.exe Make sure you modify the path to the Framework directory to wherever you have .Net 2.0 installed on your system. (If you have more than one directory under Framework, use the one with the highest release number for v2.)

BTW - you can use the same command, but without the /u parm, to install the service. The Controller dialog's Install/Uninstall buttons simply run these commands on your behalf.

Just had a thought, I believe that one thing that can screw up uninstalling a service is if the web service event log is full. Extremely unlikely, but you might want to try opening the Event Viewer, highlight Application and then select Action->Clear all Events from the menu.

ubu
2007-03-05, 10:31 PM
Since I am not creating a station but am using a dynamic source, I presume the 'playback type' in the advance options choses the default player. In my case, even if I select "preview" in the advanced config, the external button is displayed in the pop-up. I noted in the xml file that


<Use_Internal_Player>false</Use_Internal_Player>
<Use_Timeshift_Player>false</Use_Timeshift_Player>
was set for the 'offending' streams. I think I've found the problem. Several things were conspiring to cause this. Anyway, this is how it's supposed to work (and, hopefully, actually does now):

When a new station (or a new DynSource) is created, it takes its default values from the settings in the Options panels. So the playback type is based on whether you have the "Default new stations to...." checkboxes selected. For a new install, I was setting both of these to false but there was a bug in the DynSource advanced settings panel that forced it to select Preview. So the first time you executed a DynSource it would create its stations with External play set. But once you opened (and saved) the advanced settings panel it would switch it to Preview play. So the next time you ran the DynSource update, the stations would be created with Preview play set.

I've changed the initial install to set Preview play to true and I've fixed the bug in the advanced settings panel. So now, the DynSource will be created with Preview play set and will create stations accordingly unless you explicitly change the DynSource to External or Timeshift. The downside to my fix is that now all three play mode radio buttons are enabled, whatever the specified player. So I'm assuming that people will have the sense not to choose Timeshift play if their DynSource is downloading RealPlayer video streams. :rolleyes:

I have also added the Next/Prev Group feature back in to the plugin UI. I ended up putting back the menu buttons (as well as supporting the remote buttons) because it was quicker and easier to do it that way. So now the menu scrolls again but, by enlarging the button list a bit, only the Delete button is hidden when the menu is first displayed.

I've updated the Setup app in the wiki zip to include these changes.

happyhammer
2007-03-06, 10:44 AM
>>Does UbuRecordingService still show up on the Services window (Control Panel->Administrative Tools)?

NO

>>I take it you've tried using the Uninstall button on the UbuRecordingService Controller dialog?

As it is now, the recording service is not installed, so that button is not active, in fact i cant install it


>>Just had a thought, I believe that one thing that can screw up uninstalling a service is if the web service event log is full. Extremely unlikely, but you might want to try opening the Event Viewer, highlight Application and then select Action->Clear all Events from the menu.[/QUOTE]

you might be onto something there, they were at the max 512K, but i have "overwite events when needed" selected. in any case i have cleared them and tried again with the same problem.


I tried to manually uninstall/install but no joy.

C:\Program Files\devnz\gbpvr\Plugins\UbuStream\UbuRecordingSe rvice>C:\WINDOWS\Mi
crosoft.NET\Framework\v2.0.50727\InstallUtil /u UbuRecordingService.exe
Microsoft (R) .NET Framework Installation utility Version 2.0.50727.42
Copyright (c) Microsoft Corporation. All rights reserved.



The uninstall is beginning.
See the contents of the log file for the C:\Program Files\devnz\gbpvr\Plugins\Ub
uStream\UbuRecordingService\UbuRecordingService.ex e assembly's progress.
The file is located at C:\Program Files\devnz\gbpvr\Plugins\UbuStream\UbuRecordi
ngService\UbuRecordingService.InstallLog.
Uninstalling assembly 'C:\Program Files\devnz\gbpvr\Plugins\UbuStream\UbuRecordi
ngService\UbuRecordingService.exe'.
Affected parameters are:
logtoconsole =
assemblypath = C:\Program Files\devnz\gbpvr\Plugins\UbuStream\UbuRecordingSe r
vice\UbuRecordingService.exe
logfile = C:\Program Files\devnz\gbpvr\Plugins\UbuStream\UbuRecordingSe rvice\
UbuRecordingService.InstallLog
Removing EventLog source UbuRecordingService.
An exception occurred during the uninstallation of the System.Diagnostics.EventL
ogInstaller installer.
System.InvalidOperationException: The event log source 'UbuRecordingService' can
not be deleted, because it's equal to the log name.
An exception occurred while uninstalling. This exception will be ignored and the
uninstall will continue. However, the application might not be fully uninstalle
d after the uninstall is complete.

The uninstall has completed.
An exception occurred while uninstalling. This exception will be ignored and the
uninstall will continue. However, the application might not be fully uninstalle
d after the uninstall is complete.


and when i try to install it i get this important extracted info:

Installing service UbuRecordingService...
Service UbuRecordingService has been successfully installed.
Creating EventLog source UbuRecordingService in log Application...

An exception occurred during the Install phase.
System.ArgumentException: Source UbuRecordingService already exists on the local
computer.

The Rollback phase of the installation is beginning.

ubu
2007-03-06, 10:06 PM
you might be onto something there, they were at the max 512K, but i have "overwite events when needed" selected. in any case i have cleared them and tried again with the same problem.Not sure if the "overwrite events" flag really works. I also have that option set in the code (so, in theory, the log shouldn't fill up). But your error messages do seem to be pointing in that direction.

This seems to be the "smoking gun":


Removing EventLog source UbuRecordingService.
An exception occurred during the uninstallation of the System.Diagnostics.EventL
ogInstaller installer.
System.InvalidOperationException: The event log source 'UbuRecordingService' can
not be deleted, because it's equal to the log name.
I've no idea why you're getting this. Not sure what "equal to the log name" means. I'm writing to the regular "Application" log.

Grasping at straws a bit here, but did you try clearing the event log(s), then rebooting, than trying the unininstall again?


and when i try to install it i get this important extracted info:Don't you just love M$ diagnostic messages? :rolleyes:

Here's a couple of links I found that give some general info (although not dealing with your specific error message) about resolving service event log problems:

How to Delete Corrupt Event Viewer Log Files (http://support.microsoft.com/kb/172156)

Unable uninstall and install windows service application. (http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1211783&SiteID=1)

So, possibly, cleaning out the registry entries manually might work. (Scary, though :eek: ).

Unfortunately, I'm away from home (and my source code) right now so I can't look for more clues there. I'll check when I get back

EDIT: Just found this item (http://www.pcreview.co.uk/forums/showpost.php?p=4261647&postcount=6). This might be the problem. I did make minor changes to the recording service for UbuStream v2.1 so it is a different executable than the one distributed with UbuRadio (and than the one distributed with earler versions of the v2.1 beta). So you may find that, if you use the version you originally installed from (just replace the contents of the UbuRecordingService directory with the original files) and try to uninstall the service with that, it may uninstall correctly. Then you can copy the current version back into the directory and do a fresh install of the current version of the service. (Reboot your machine and say a few prayers inbetween, to be on the safe side :) )

ralphy
2007-03-07, 12:24 PM
Well, I'm trying out the ninemsn (http://www.ninemsn.com.au/podcast) podcasting feature as described here (http://forums.gbpvr.com/showthread.php?t=25032) and noticed the following.

When I tried to change the podcast folder in ubuconfig, exit and restart, the section list in the podcasts dynsource group was not updated to reflect the subfolders of the new podcast folder. I manually deleted the dynsource entry in the xml file, so that when ubuconfig started up again, it loaded the subfolders of the new directory.
I didn't have vlc installed, so when I tried to play the stream, I got a 'player not found' error. Clicking 'ok' doesn't clear the error screen, but 'double clicking' does. I notice that this also appears to happen when clicking a button to play one of the players. Is this the way it is suposed to work?
I couldn't get the internal vlc player to cycle through all aspect ratios 4:3 16:9 and 16:10 aspect ratios with F7. Have I got something set up incorrectly, or have I missed the point? The internal WMP seems to cycle ok.
I finally did an upgrade install on my production machine and initially GBPVR failed to start because I did not have the uburecording service running. (Sorry, I've lost the log entry) I had to go into the ubu recording service controller to install. During the install, I chose not to check the 'install/start' the recording service (don't ask me why!), but if GBPVR won't start without it running, why is the option there for the user to choose not to install?

ubu
2007-03-07, 09:44 PM
Once again, you've uncovered some key problems. (Do you do QA testing for a living? :) ).


When I tried to change the podcast folder in ubuconfig, exit and restart, the section list in the podcasts dynsource group was not updated to reflect the subfolders of the new podcast folder. I manually deleted the dynsource entry in the xml file, so that when ubuconfig started up again, it loaded the subfolders of the new directory.I must admit this is a bit of a kludge but, since I had no feedback at all on the Podcasts dynsource app, I though I was the only one using it. If you already have the Podcasts dynsource installed, to change the podcast directory you have to actually delete the Podcast dynsource first. (ie. From the config app, highlight the dynsource, select Delete to remove it from the database and "disable" the app, then enter your new podcasts directory on the Options panel and close the config app. Then use Explorer to re-enable the app - remove the ".disabled" extension that has been added to the exe file. Then, when you start the config app, it will re-install the dynsource, picking up your new podcasts directory along the way. Phew!!).

Not very friendly but it works. This actually touches on a larger issue that I've been mulling over. It would be nice if DynSource apps could accept parameters to change their behaviour . I played around with adding a "command line arguments" field to the database but it occurred to me that a better way would be to add an optional Setup button to the DynSource panel which would be enabled if the DynSource included a setup app with a form that could be displayed (a bit like the gbpvr config app does for plugins). The dynsource setup app would save the settings the user entered to its own app config file which the actual dynsource app would read before downloading stuff from the target site. So, in the Podcast dynsource case, I could move the podcasts directory to the setup app form and allow it to be changed "on the fly". This could be a very flexible feature that dynsource authors could use for all kinds of things. For instance:

Many sites offer both WMP and RealPlayer streams. The user could choose their preference on a setup form and the dynsource would download the appropriate links at run time.
SkyNews has zillions of archived video links. Currently I arbitrarily restrict my dynsource download to the links with dates less than 3 days old. A setup form would let users set this value and download as many links as they wanted.
You could let users "design" their own sections. Some sites break their links into very small groups (3 links per group). These could be combined into larger "custom" groups.

EDIT: Also realized that the Podcast dynsource assumes the "station" is an audio one. So, for video podcasts, you have to manually change the station config to video for it to work correctly.


I didn't have vlc installed, so when I tried to play the stream, I got a 'player not found' error. Clicking 'ok' doesn't clear the error screen, but 'double clicking' does. I notice that this also appears to happen when clicking a button to play one of the players. Is this the way it is suposed to work?By design. All error/info messages share the same dialog and I have this set to require a double click since it's easy to single click by accident. If you click the Delete button, for instance, it's easy to unintentionally have a second click in the buffer which would immediately trigger the OK button on the dialog (causing the user to indulge in a lot of profane language :eek: ).


I couldn't get the internal vlc player to cycle through all aspect ratios 4:3 16:9 and 16:10 aspect ratios with F7. Have I got something set up incorrectly, or have I missed the point? The internal WMP seems to cycle ok.I think this is probably the bug I mentioned earlier where VLC keystroke handling behaves differently on different machines. In all the internal players, my code intercepts keystrokes before they get to the player and map them to GB-PVR functionality. On my test machine, this works fine with VLC. On my production machine (functionally identical as far as I can tell) the keystrokes make it through to the player so it responds to "native" VLC key mapping. (For instance, instead of Ctrl-P/Ctrl-Q for Play/Pause, as used by GB-PVR, you may find that the spacebar will toggle Play and Pause, which is the default for VLC). The F7 key is one that only pertains to my code (since I'm adjusting the video display size on your screen, not VLC) so, if the keystrokes are not getting captured, the F7 key wouldn't work. When I get time, I'm going to try a different approach to intercepting the keystrokes and see if that fixes this elusive problem.


I finally did an upgrade install on my production machine and initially GBPVR failed to start because I did not have the uburecording service running. (Sorry, I've lost the log entry) I had to go into the ubu recording service controller to install. During the install, I chose not to check the 'install/start' the recording service (don't ask me why!), but if GBPVR won't start without it running, why is the option there for the user to choose not to install?Pity you lost the log. At load time, UbuStream checks to see if the service is installed and running. If not, it's supposed to write a message to the log and continue loading. It shouldn't affect the GB-PVR startup. Sounds like I need to test this more.

Good question about the checkbox in the install app. Probably I was spending too much time trying to get the cute little UBU icon to show up on the setup dialogs to worry about whether the options actually made any sense. :D I guess I was thinking some people might want to do the actual config steps later?

ralphy
2007-03-08, 11:25 AM
Do you do QA testing for a living? :)
No, but I seem to have a habit of being able to 'break programs'. Two weeks ago I found a significant bug in some commercial software giving results that defy the laws of physics - so the company did the right thing and gave us a full refund. Now I have to wait weeks or months for the next release! And today, I managed to crash another program that's been around for many years and now at version 8 costing many ten's of thousands of dollars to licence. I managed to work around the problem, but there's definitely a bug for the vendor to fix. Maybe it's a bit of a case of a dumb user trying to do things that other's don't, or I'm not supposed to:o... or maybe I should read the user manual. :D


I've changed the initial install to set Preview play to true and I've fixed the bug in the advanced settings panel. So now, the DynSource will be created with Preview play set and will create stations accordingly unless you explicitly change the DynSource to External or Timeshift. The downside to my fix is that now all three play mode radio buttons are enabled, whatever the specified player. So I'm assuming that people will have the sense not to choose Timeshift play if their DynSource is downloading RealPlayer video streams.

I can see this change made to ubuconfig, but I am still having problems with the internal / external player. This time, I can't get the external player to work, even after selecting the default dynsource player to external in ubustream. After clicking on the clip, if preview is displayed as the default button, clicking external plays the internal player. If external is displayed as the default button, clicking preview still plays the external player. Attached is the xml with preview and with external for OzABC.

Does the <Use_Internal_Player>tag need to be the same (ie false or true) for all clips within a dynsource group, as well as in the <Dynamic_Sources> tag?

ubu
2007-03-09, 06:40 AM
I can see this change made to ubuconfig, but I am still having problems with the internal / external player. This time, I can't get the external player to work, even after selecting the default dynsource player to external in ubustream. After clicking on the clip, if preview is displayed as the default button, clicking external plays the internal player. If external is displayed as the default button, clicking preview still plays the external player. Attached is the xml with preview and with external for OzABC.

Does the <Use_Internal_Player>tag need to be the same (ie false or true) for all clips within a dynsource group, as well as in the <Dynamic_Sources> tag?I think one thing that's confusing here is that, although, if you change the play mode of a DynSource, that will determine the play mode of any subsequently downloaded (and created) stations, it won't change the play mode of existing stations. So when UbuStream imports your PLX file, if it sees an item that already exists as a station, it does not replace that station. So any ABC news items that were retrieved in an earlier download won't get re-created with the new play mode.

For DynSource imports this sounds kinda stupid, since it would make more sense to unconditionally replace all the stations each time. But for other kinds of import it avoids wiping out custom data you have added to the station. For instance, if you are importing from the WWMP link, you would want to pick up any new stations but for existing stations, where you may have added a custom description and the URL of a schedule page for the web site field, you don't want that station replaced. Maybe I should revisit this and see if I can detect if I'm importing from a DynSource PLX and, if so, delete all its existing stations before importing, even if they exist in the new PLX file. (EDIT: I just changed the code to do this. So it'll show up in the next version.)

For now, the workaround is, after changing the play mode for a DynSource, unselect all the selected sections (which will delete all the associated groups and their stations) and then select the sections again (which will create new, empty groups). So, the next time the DynSource is run, all the stations will be new ones with the new play mode.

As to your other observation that the external player is being invoked when you press Preview Play and vice versa, I'm unable to see how that could happen. The default play mode for a station determines a) which button is initially highlighted in the dialog and b) which player is called when you use the regular menu (or remote) Play button. It does not affect what happens when you use the dialog's play buttons. The dialog buttons set a switch which pretty much forces the button's player type to be invoked.

So maybe try getting rid of your old DynSource stations, as described above. Then do a fresh download so all the new stations have the new play mode. Then, if you're still getting the wrong player invoked by the dialog play buttons, send me your log.

Sorry if I'm not explaining this clearly. I'm tired and the brain is not firing on all eight cylinders.

EDIT: Different subject - I can't reproduce your experience of GB-PVR failing to start if the UbuRecordingService isn't installed. It starts for me every time. You won't notice the service isn't installed until you try to play a station in Timeshift mode when you'll get a pop-up message telling you the service isn't installed. You can even install it without leaving UbuStream (or GB-PVR) and, the next time you try Timeshift Play, it will work. In fact, if the service is installed but, for whatever reason, hasn't been started, UbuStream will even start it for you when you use Timeshift Play. :cool:

ralphy
2007-03-10, 05:19 AM
As to your other observation that the external player is being invoked when you press Preview Play and vice versa, I'm unable to see how that could happen. The default play mode for a station determines a) which button is initially highlighted in the dialog and b) which player is called when you use the regular menu (or remote) Play button. It does not affect what happens when you use the dialog's play buttons. The dialog buttons set a switch which pretty much forces the button's player type to be invoked.

So maybe try getting rid of your old DynSource stations, as described above. Then do a fresh download so all the new stations have the new play mode. Then, if you're still getting the wrong player invoked by the dialog play buttons, send me your log.

This didn't work nor did a fresh install :( , but after a lot of tinkering around, I think the problem is in the mouse clicks. My test machine doens't have a remote control and this machine on which I first noticed the problem. The production machine primarily uses the remote control, and I just found out the that preview/external behaves correctly with the remote control, but not the mouse.:)

Here's a log extract showing the mouse being clicked on the external button, but loading the internal player, and the remote control being used to choose the external player correctly.



10/03/2007 2:07:14 PM.468 VERBOSE [1] UbuStream: Reading C:\Program Files\devnz\gbpvr\UbuStream.xml
10/03/2007 2:07:14 PM.500 VERBOSE [1] UbuStream: >>>>>>>> Stations after refresh read: 206
10/03/2007 2:07:14 PM.500 VERBOSE [1] UbuStream: currSelectedGroup: ABC Australia - news
10/03/2007 2:07:14 PM.500 VERBOSE [1] UbuStream: webStations.Count 6
10/03/2007 2:07:14 PM.546 VERBOSE [1] Skinhelper loading image from file: .\skin\Blue\UbuStream\../main menu/moredown.png
10/03/2007 2:07:15 PM.546 VERBOSE [1] controller.OnMouseDown()
10/03/2007 2:07:16 PM.031 VERBOSE [1] controller.OnClick()
10/03/2007 2:07:16 PM.031 VERBOSE [1] UbuStream: Click {X=343,Y=92}On list: True
10/03/2007 2:07:16 PM.234 VERBOSE [1] controller.OnMouseDown()
10/03/2007 2:07:16 PM.500 VERBOSE [1] controller.OnClick()
10/03/2007 2:07:16 PM.500 VERBOSE [1] UbuStream: Click {X=343,Y=92}On list: True
10/03/2007 2:07:16 PM.546 VERBOSE [1] controller.OnMouseDown()
10/03/2007 2:07:17 PM.812 VERBOSE [1] controller.OnMouseDown()
10/03/2007 2:07:17 PM.906 VERBOSE [1] controller.OnClick()
10/03/2007 2:07:17 PM.906 VERBOSE [1] UbuStream: Click {X=424,Y=414}On list: False
10/03/2007 2:07:18 PM.000 VERBOSE [1] controller.OnMouseDown()
10/03/2007 2:07:18 PM.218 VERBOSE [1] UbuNetStreamPlayer: Internal player Status: wmppsTransitioning
10/03/2007 2:07:18 PM.218 INFO [1] UbuStream: Started playing 01: WA Premier inspects cyclone damage: 1:17 using InternalPlayer: Windows Media Player
10/03/2007 2:07:22 PM.734 VERBOSE [1] HideMouse ref=-1
10/03/2007 2:07:25 PM.687 VERBOSE [1] ShowMouse ref=0
10/03/2007 2:07:27 PM.921 VERBOSE [1] No key mapping found for: RETURN
10/03/2007 2:07:29 PM.750 VERBOSE [1] No key mapping found for: RIGHT
10/03/2007 2:07:30 PM.156 VERBOSE [1] No key mapping found for: RIGHT
10/03/2007 2:07:30 PM.562 VERBOSE [1] No key mapping found for: RETURN
10/03/2007 2:07:30 PM.656 INFO [1] UbuStream: Started playing 01: WA Premier inspects cyclone damage: 1:17 using ExternalPlayer: Windows Media Player
10/03/2007 2:07:30 PM.734 VERBOSE [1] HideMouse ref=-1
10/03/2007 2:07:32 PM.781 VERBOSE [1] ShowMouse ref=0
10/03/2007 2:07:38 PM.734 VERBOSE [1] HideMouse ref=-1


Hope this points you in the right spot!.



EDIT: Different subject - I can't reproduce your experience of GB-PVR failing to start if the UbuRecordingService isn't installed.

I was hoping the repeating with a fresh install might repeat the problem for me, but alas, it didn't. We'll have to wait until someone else gets the same problem and saves the log!

ubu
2007-03-10, 07:19 AM
This didn't work nor did a fresh install :( , but after a lot of tinkering around, I think the problem is in the mouse clicks. My test machine doens't have a remote control and this machine on which I first noticed the problem. The production machine primarily uses the remote control, and I just found out the that preview/external behaves correctly with the remote control, but not the mouse.:)

Here's a log extract showing the mouse being clicked on the external button, but loading the internal player, and the remote control being used to choose the external player correctly.
Hope this points you in the right spot!.Got it! The mouse click wasn't being handled correctly. I try to test everything with both the remote and the mouse but, I must admit to being less rigorous with testing the mouse interface since I use the remote for actually "using" GB-PVR. This one slipped through the cracks.

So, in fact, you uncovered two bugs. This one and the one I described yesterday. Perhaps you hadn't noticed that one, since it was "masked" by this mouse problem, but the xml file you sent me had some of your OzABC stations set to your new DynSource play mode settings and some (the older ones) still set to the old settings.

Anyway both fixes will show up in the next bug fix release. I can't let you have a fixed version now because I everything is in pieces all over the floor (so to speak) while I try to figure out the keystroke problem with the VLC internal player. Normal service will be resumed as soon as possible. :)

Thanks again for your sleuthing.

ubu
2007-03-10, 11:43 AM
If you have been unable to get the VLC internal player to respond to keystrokes and remote control buttons (Stop/Ctrl-S, Play/Ctrl-P, Mute/M, VolUp/UpArrow, VolDown/DownArrow, Sub-CC/F7,etc.), here's how to fix the problem. Start VLC, bring up the Preferences window and, on the Video panel, uncheck "Fullscreen video output".

Due to a bug in the VLC Active/X control, fullscreen must be turned OFF. Otherwise, VLC playback will no longer be under the control of the GB-PVR/UbuStream application code. This preference has nothing to do with whether you actually see playback in fullscreen since this is managed by the UbuStream plugin itself (based on the fullscreen setting under Options->General in the UbuStream config app).

I'm trying to figure out how to force the VLC fullscreen preference to be turned off automatically but the VLC control does not make this easy. In the meanwhile, manually changing the VLC preference will fix the problem.

EDIT: If you had the VLC fullscreen preference checked because you use the standalone VLC player for other things, you can still switch it to fullscreen by using the VLC menu or by pressing the "f" key while playing a video.

happyhammer
2007-03-12, 01:17 PM
I played around with the registry and have managed to get teh service installed now. Don't think its 100% because the uburecordingservice controller dialog box is not reponding too well but i can stop start usin the normal contol panel/services method.

Found the problem with my MVP stuck on buffering...it did the same on teh PC in timeshift mode. the uburecodingservice log file showed it was looking for VLC.exe in the wrong place, some other software had an registry entry for VLC installdir.

So now, on the MVP when i played CNN, ther stream is not smooth enough, when i slected skynews, that seemed to be much better. any ideas on what i can tweak to get smooth MVP playback on CNN?

ubu
2007-03-12, 09:16 PM
I played around with the registry and have managed to get teh service installed now. Don't think its 100% because the uburecordingservice controller dialog box is not reponding too well but i can stop start usin the normal contol panel/services method.Well, that's good news. At run time, UbuStream will start the service automatically if it's not already running, so the the controller dialog box is a bit of a "nice to have" feature. (Could have used a batch file to install the service). On my systems, I notice that sometimes the service reacts instantly to the start and stop buttons but sometimes there's a noticeable delay. Not sure why.


Found the problem with my MVP stuck on buffering...it did the same on teh PC in timeshift mode. the uburecodingservice log file showed it was looking for VLC.exe in the wrong place, some other software had an registry entry for VLC installdir.Originally, I took the VLC app location from the player definition in the config app but then I though, since Timeshift Play relies on VLC, I'd do the "elegant thing" and get it from the registry. Who would guess that another app would be using the same entry? You just can't win, I guess. :(


So now, on the MVP when i played CNN, ther stream is not smooth enough, when i slected skynews, that seemed to be much better. any ideas on what i can tweak to get smooth MVP playback on CNN?This is where I repeat my standard disclaimer: "the management cannot be responsible for the content". :) I find the CNN streams a bit problematic also (they also tend to cut off the last few seconds of the stream when played in Timeshift mode). I still haven't 100% figured out all the issues with VLC transcoding. I don't know why some steams that play fine with VLC can't be transcoded (H264 streams such as the AFTV streams, for instance) or why some streams lose quality or audio/video synch as a result of the transcoding process.

I've taken the UbuStream infrastructure for Timeshift Play and MVP support as far as I can in terms of configuration flexibility (allowing the VLC parms to be tweaked for each station) but I'm not a VLC expert. I'm hoping that other users may figure out some of the tricks and share them with the rest of us. If anybody figures out something that I can incorporate in the UbuStream code, I'll be happy to do that.

For MVP use, I find the best thing to do is experiment a bit on the PC (non-MVP) and pick stations that play well with VLC transcoding using Timeshift Play, figure out the right wait times for the MVP and then stick with those stations. (I tend to add them to my Channel mode stations so I can start them from the TV Guide). Timeshift Play works very well on the MVP if the station is reliable. But if the station is a bit iffy it can make for a horrible MVP viewing experience (and can even hang the MVP on occasion).

Some of the streams I find work well on my MVP (both for reliability and picture quality) are the BBC programme streams (Newsnight, Panorama, 10 O'Clock News, etc.), Comcast CN8, Ebru TV, Channel 125, WAM TV, Hyp TV, Information TV, Kulak's Woodshed, NASA TV, EATV and Mania TV. The stream "by which all others are judged" is still the Research Channel which performs flawlessly with the MVP (why can't everybody use the same streaming technology that they do?).

FirstTeamOPS
2007-03-13, 03:05 AM
Two questions:
I have a bunch of WMP streams currently setup and all set for the internal player. I can reproduce these on any WMP stream I listen to.

1. Is the system screen saver supposed to activate when I'm playing a stream? Not the GB-PVR screen saver but the system screen saver activates after the specified time in the Display properties. That means I have no control with the remote and my system locks. Anyway to prevent the system screen saver from activating as the GB-PVR software does?

2. When the internal player starts playing after the splash screen, I see the WMP visualization. It displays fine for 10 seconds, then freezes (stops) for 2 seconds, displays for 10, freezes for 2... and it keeps repeating this. The audio continues to play with no problem there. It's the visualization that freezes. I'm wondering if anyone else is experiencing this? The CPU load is at most 2% when this happens with no spikes. I can play the same stream in WMP (outside GB-PVR) and have no problem with the full screen visualization.

Any ideas?
Otherwise, everything is working fine. Thanks.

ubu
2007-03-13, 05:13 AM
1. Is the system screen saver supposed to activate when I'm playing a stream? Not the GB-PVR screen saver but the system screen saver activates after the specified time in the Display properties. That means I have no control with the remote and my system locks. Anyway to prevent the system screen saver from activating as the GB-PVR software does?I haven't experienced this because I have the Windows screen saver turned off on most of my computers. On my HTPC it is redundant with the GB-PVR screen saver (and I have GB-PVR running 99% of the time). On my dev machine, I have it turned off because I have known it to interfere with long ftp file transfers or Bittorrent downloads. Screen savers were originally developed to "save" your screen from burning the image into the physical display (if you left it displaying the same image for too long) back when most of us used phosphor based video display monitors. With today's display monitors they seem more like a "toy" than anything else. I seem to remember that the system screen saver will also activate if you are playing an audio stream in the native (external) WMP.


2. When the internal player starts playing after the splash screen, I see the WMP visualization. It displays fine for 10 seconds, then freezes (stops) for 2 seconds, displays for 10, freezes for 2... and it keeps repeating this. The audio continues to play with no problem there. It's the visualization that freezes. I'm wondering if anyone else is experiencing this? The CPU load is at most 2% when this happens with no spikes. I can play the same stream in WMP (outside GB-PVR) and have no problem with the full screen visualization.I haven't experienced this myself however I have to say that I'm not a big fan of the WMP activex component. Of all the activex controls I've used to implement the internal players, the M$ one has given me the most grief. (Very surprisingly, the RealPlayer one was the easiest to implement and pretty much worked, as advertised, right out of the box.) The impression I get is that M$ has better support for the WM player when embedded in a web page than when used in their own .Net product. :(

The only workarounds I can suggest is a) Use the VLC internal player instead (it only has one decent visualization but it's a good one) since it will play most wma streams or b) use Timeshift Play instead (the GB-PVR audio player uses the WM visualizations).

Maybe somebody else has a suggestion as to why this is happening. If I knew what was causing it, I'd be glad to fix it.

ubu
2007-03-13, 07:55 AM
I'll be gone for the next three weeks so I won't be answering any posts on the UbuStream forum. (I'm going back to the "old country" - England - to visit relatives and friends. Not sure if they have the internet there. :D ).

So I've decided to hold off on an "official" v2.1 release until after I get back. In the meanwhile, here's the latest bugfix patch: 9943

Just apply it to the current Beta version from the wiki. It has fixes to most of the stuff ralphy "uncovered" since the last Beta release. Also some usability improvements (hopefully) to the internal players.

Later.

ralphy
2007-03-17, 12:19 AM
For some reason I didn't get an email notification of this post, so only loaded the patch today. Unfortunately, got a unhandled exception. Has anyone managed to install the patch successfully. I even reloaded 2.1 Beta from the Wiki again to be sure.:confused:

If I press 'continue' in the exception message, I get a new panel, showing the channel and player configuration, but 'OK' then terminates the app.

The problem might be the nulls in the player list, but when I enter some data here, the 'traditional' config still wont start.




************** Exception Text **************
System.Data.ConstraintException: Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.
at System.Data.DataSet.FailedEnableConstraints()
at System.Data.DataSet.EnableConstraints()
at System.Data.DataSet.set_EnforceConstraints(Boolean value)
at System.Data.XmlDataLoader.LoadData(XmlReader reader)
at System.Data.DataSet.ReadXml(XmlReader reader, Boolean denyResolving)
at System.Data.DataSet.ReadXml(String fileName)
at UbuStreamPlugin.UbuStreamConfigForm.UbuStreamConfi gForm_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Mes sage& m)
at System.Windows.Forms.ContainerControl.WndProc(Mess age& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.O nMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
UbuStreamConfig
Assembly Version: 2.1.0.0
Win32 Version: 2.1.0.0
CodeBase: file:///C:/Program%20Files/devnz/gbpvr/Plugins/UbuStreamConfig.exe
----------------------------------------
System.Xml
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
UbuStreamPlugin
Assembly Version: 1.0.2324.4196
Win32 Version: 1.0.2324.4196
CodeBase: file:///C:/Program%20Files/devnz/gbpvr/Plugins/UbuStreamPlugin.DLL
----------------------------------------
System.Data
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
Accessibility
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------

FirstTeamOPS
2007-03-18, 01:17 AM
Confirmed. I didn't get the on screen error, but the plugin doesn't load.


2007-03-17 09:12:44.328 INFO [1] UbuRadio plugin is loading...
2007-03-17 09:12:44.375 INFO [1] Reading C:\Program Files\devnz\gbpvr\UbuStream.xml
2007-03-17 09:12:44.390 ERROR [1] Error initializing menu plugin: C:\Program Files\devnz\gbpvr\plugins\UbuStreamPlugin.dll
2007-03-17 09:12:44.390 ERROR [1] Exception has been thrown by the target of an invocation.
2007-03-17 09:12:44.390 ERROR [1] at System.RuntimeTypeHandle.CreateInstance(RuntimeTyp e type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache)
at System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at GBPVR.Backend.Common.xc4f12ec3a8a4c96b.xb77fa95273 e0c228(Boolean x8bae2a88590d8cc0)
2007-03-17 09:12:44.390 ERROR [1] Inner exception: System.Data.ConstraintException: Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.
at System.Data.DataSet.FailedEnableConstraints()
at System.Data.DataSet.EnableConstraints()
at System.Data.DataSet.set_EnforceConstraints(Boolean value)
at System.Data.XmlDataLoader.LoadData(XmlReader reader)
at System.Data.DataSet.ReadXml(XmlReader reader, Boolean denyResolving)
at System.Data.DataSet.ReadXml(String fileName)
at UbuStreamPlugin.UbuStreamPluginTask.readStationsFr omXML()
at UbuStreamPlugin.UbuStreamPluginTask..ctor()
2007-03-17 09:12:44.390 ERROR [1] at System.Data.DataSet.FailedEnableConstraints()
at System.Data.DataSet.EnableConstraints()
at System.Data.DataSet.set_EnforceConstraints(Boolean value)
at System.Data.XmlDataLoader.LoadData(XmlReader reader)
at System.Data.DataSet.ReadXml(XmlReader reader, Boolean denyResolving)
at System.Data.DataSet.ReadXml(String fileName)
at UbuStreamPlugin.UbuStreamPluginTask.readStationsFr omXML()
at UbuStreamPlugin.UbuStreamPluginTask..ctor()

ralphy
2007-03-18, 09:43 AM
I thought that patch 4 might have fixed this error, but since I can't load patch 4, I figured I'd post the problem anyways..

When trying to timeshift play a dynsource video stream, I get the 'buffering' message. Since nothing seems to be happening (I think I already mentioned I am impatient!), I abort with back/esc.

Then, whenever I try to play any webstream, I get "Error: Object reference not set to an instance of object". I need to restart GBPVR to be able to use UBUStream again.

Here are the logs...

ubu
2007-03-28, 08:16 PM
I'm back from my vacation. I'm still a bit jet-lagged but I'd like to sort out this data constraint issue. Could either or both of you send me your UbuStream.xml file so I can reproduce the problem.

Once I've figured out that problem, I'll take a look at ralphy's issue with hitting the Back button while buffering.

ralphy
2007-03-28, 11:41 PM
Welcome back! Hope you had a good break.

Here's my current ubustream.xml file.

ubu
2007-03-29, 02:43 AM
Welcome back! Hope you had a good break.

Here's my current ubustream.xml file.Well, that xml file works just fine wth my current test system. So, either you have somehow "fixed" it (unlikely) or my Patch 4 together with the wiki version is somehow different from my current installation.

I'll put together a new "full" version when I get a moment (still dealing with stuff that's been piling up while I've been away).

On the other problem (hitting the back button while buffering), can you check that you have a valid UbuNetStreamPlayer.dll.config file in your gbpvr directory. It looks like UbuStream may not be picking up the correct StayAliveRequestInterval value.

ralphy
2007-03-29, 10:48 AM
On the other problem (hitting the back button while buffering), can you check that you have a valid UbuNetStreamPlayer.dll.config file in your gbpvr directory. It looks like UbuStream may not be picking up the correct StayAliveRequestInterval value.


That's the problem - no config file. :) Now the question is, why wasn't it present? The only thing I can think of is that when I did the install of 2.1, I chose not to install the recording service (as mentioned earlier). Of course, this meant I had to install it separately later, but it is the only obvious difference I can think of between my production system (which had no config file), and the test system (which had the config file)

ubu
2007-04-02, 06:38 AM
That's the problem - no config file. :) Now the question is, why wasn't it present? The only thing I can think of is that when I did the install of 2.1, I chose not to install the recording service (as mentioned earlier). Of course, this meant I had to install it separately later, but it is the only obvious difference I can think of between my production system (which had no config file), and the test system (which had the config file)And the answer is: "because I forgot to include it in the 2.1 install program". :eek: Duh! Sorry. I'll try to get a fresh copy of the latest version (with nothing missing, hopefully) on to the wiki tomorrow.

ralphy
2007-04-02, 09:39 AM
Having used the ninemsn mp4 podcasts for a little while now, I noted that sometimes the podcast opens up with the screensaver visualisation, rather than the video. The audio is fine, but I need to back/esc out and play again. It doesn't always happen, but from memory, I think it happens when hitting play/ pushing play remote button,on the main menu, rather than selecting a player from the pop-up decsription screen.

I'm also having trouble with the VLC remote commands, even after using the 'not full screen' option. eg, channel down (slow) works, but then channel up (fast) doesn't, and I can't get back to normal speed playing. (I'm using VLC 0.8.6a). I think my irremote.ini is correct. I probably need to do some more detective work to be more explicit about what works and doesn't work and under what conditions.

Does VLC allow a high speed play with audio? Zipping through the podcast can be useful sometimes.

ubu
2007-04-03, 07:57 AM
Having used the ninemsn mp4 podcasts for a little while now, I noted that sometimes the podcast opens up with the screensaver visualisation, rather than the video. The audio is fine, but I need to back/esc out and play again. It doesn't always happen, but from memory, I think it happens when hitting play/ pushing play remote button,on the main menu, rather than selecting a player from the pop-up decsription screen. If you can get a repeatable case (and the log to go with it), I'll take a look. I assume you are referring to the VLC internal player. The only thing I can think of is, if the video part of the mp4 is missing or out-of-synch in some way, perhaps VLC thinks it's an audio file so runs the visualization.


I'm also having trouble with the VLC remote commands, even after using the 'not full screen' option. eg, channel down (slow) works, but then channel up (fast) doesn't, and I can't get back to normal speed playing. (I'm using VLC 0.8.6a). I think my irremote.ini is correct. I probably need to do some more detective work to be more explicit about what works and doesn't work and under what conditions.

Does VLC allow a high speed play with audio? Zipping through the podcast can be useful sometimes.All the embedded players are a bitch to work with. They all suffer from lack of documentation, especially for using them from .Net apps, and they all have completely different command structures. (VLC is probably the worst of the four activex controls I'm using.) So I pretty much have to figure them out by trial and error. The latest version of the 2.1 beta (which I just uploaded to the wiki) has some improvements to the players (especially for WMP) but I'm still working on getting them to work consistently.

In theory, the FF and Rewind buttons should increase and decrease the speed of playback in the VLC player, so you're on the right track. In practice, depending on the stream/file being played, they may or may not work correctly. I have some streams where they do the right thing, others that act very flaky, others that don't work at all and still others where the Rewind button blows me right out of GB-PVR :eek:.

WMP is better. I've now got the FF button doing fast forward play and the Rewind button doing fast backward play. If the stream/file is not "seekable" the buttons just don't do anything. Same with the Pause button.

Audio streams/files should follow the same rules as video. ie. - if the stream is seekable, the FF/Rewind keys should work. Typically, they'll work with files and on-demand streams but not with live streams.

For all four players, I've now got a rudimentary OSD working if you press the Blue button.

ubu
2007-04-03, 08:13 AM
I just uploaded a new version of the 2.1 beta to the wiki. This version of the Setup program includes a variety of fixes and enhancements. I can't remember all the details (two weeks of vacation scrambled my brains) but this will bring you up to date with the version I'm currently working with. I've tweaked the internal players a bit (see the previous post in this thread).

As usual, let me know if you experience any new and exciting problems. :)

jksmurf
2007-04-03, 09:15 AM
I just uploaded a new version of the 2.1 beta to ....
As usual, let me know if you experience any new and exciting problems. :)I think this issue is related to my (well documented (http://forums.gbpvr.com/showthread.php?t=21144&highlight=alt-tab+MVP+Server)) issue that my WinXP cannot stop the Recording Service unless I shut down the MVP Server Manually (Alt-Tab)

I get this problem installing X-Record or whatever, even restarting GBPVR using config. I will reinstall WInXP eventually ... :-)

One thing you could do though...install it to the GBPVR Start Programs Folder by default, like VideoArchive and Xrecord do, so that it doesn't clutter up Programs?

k.

ubu
2007-04-04, 06:12 AM
I think this issue is related to my (well documented (http://forums.gbpvr.com/showthread.php?t=21144&highlight=alt-tab+MVP+Server)) issue that my WinXP cannot stop the Recording Service unless I shut down the MVP Server Manually (Alt-Tab)

I get this problem installing X-Record or whatever, even restarting GBPVR using config. I will reinstall WInXP eventually ... :-)You're right. GB-PVR can't be running (including the Recording Service) while you're installing UbuStream.


One thing you could do though...install it to the GBPVR Start Programs Folder by default, like VideoArchive and Xrecord do, so that it doesn't clutter up Programs?Not quite sure what you mean by the GB-PVR "Start Programs Folder". I don't have that folder in my gbpvr directory structure. But, then again, I don't have either of those plugins installed either.

UbuNetStreamPlayer.dll is a shared library that handles all the stream playback and recording. Since UbuStream (and the UbuStream version of ExternalRecorder, which also uses it) are running as part of the GB-PVR app it needs to be in the gbpvr directory. Also, it's intended to be available to any plugin (not just UbuStream) that wants to use its methods (a bit like the CommonGbpvrUtilities and GbpvrUIElements libraries).

jksmurf
2007-04-04, 06:47 AM
You're right. GB-PVR can't be running (including the Recording Service) while you're installing UbuStream. Not sure if that was in the WIKI (I did look), it might pay to highlight it :-)


Not quite sure what you mean by the GB-PVR "Start Programs Folder". Actually I meant this... sorry I explained it very poorly...

k.

ubu
2007-04-04, 07:54 AM
Not sure if that was in the WIKI (I did look), it might pay to highlight it :-) The wiki documents the "official" release of UbuStream - v2.0. The UbuNetStreamPlayer dll is a new component in the v2.1 beta. One reason I haven't made v2.1 "official" yet is that I can't seem to find the time to update the wiki to reflect its new features. ;)


Actually I meant this... sorry I explained it very poorly...Ahh! I see what you mean. Good idea. I'll see if I can persuade my NSIS install script to do that.

ralphy
2007-04-04, 11:54 AM
As usual, let me know if you experience any new and exciting problems. :)

Not exciting, and may not be new, but a search of the forum shed no light. I've tried an uninstall, rebooting, cleaning out the event log, but nothing seems to let me install the recording service from the recording service controller. The problem is on one test system - I got the service working on a second test system, but have not yet tried installing on the production system. I'm stumped Ubu.:confused:

I get the following exception:


************** Exception Text **************
System.ComponentModel.Win32Exception: The system cannot find the file specified
at System.Diagnostics.Process.StartWithCreateProcess( ProcessStartInfo startInfo)
at System.Diagnostics.Process.Start()
at System.Diagnostics.Process.Start(ProcessStartInfo startInfo)
at UbuRecordingServiceController.Form1.runInstallUtil (Boolean uninstall)
at UbuRecordingServiceController.Form1.buttonInstall_ Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventAr gs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.O nMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.W ndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll
----------------------------------------
UbuRecordingServiceController
Assembly Version: 1.0.2611.32945
Win32 Version: 1.0
CodeBase: file:///C:/Program%20Files/devnz/gbpvr/Plugins/UbuStream/UbuRecordingService/UbuRecordingServiceController.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.ServiceProcess
Assembly Version: 2.0.0.0
Win32 Version: 2.0.50727.42 (RTM.050727-4200)
CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.ServiceProcess/2.0.0.0__b03f5f7f11d50a3a/System.ServiceProcess.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.


Oh, and there's no UbuRecordingService.exe.log either.

JavaWiz
2007-04-05, 01:18 AM
I too am getting the same exception that Ralphy references after installing V2.1 beta dated 4/3/07. Additionally, I am getting the following exception when GBPVR shuts down:

System.ObjectDisposedException was unhandled
Message="Cannot access a closed file."
Source="mscorlib"
ObjectName=""
StackTrace:
at System.IO.__Error.FileNotOpen()
at System.IO.FileStream.Write(Byte[] array, Int32 offset, Int32 count)
at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)
at System.IO.StreamWriter.Flush()
at GBPVR.Public.Logger.LogMessage(Int32 level, String message)
at GBPVR.Public.Logger.Info(String message)
at UbuStreamPlugin.UbuStreamPluginTask.Finalize()

ubu
2007-04-05, 04:20 AM
Not exciting, and may not be new, but a search of the forum shed no light. I've tried an uninstall, rebooting, cleaning out the event log, but nothing seems to let me install the recording service from the recording service controller. The problem is on one test system - I got the service working on a second test system, but have not yet tried installing on the production system. I'm stumped Ubu.:confused:
.........
Oh, and there's no UbuRecordingService.exe.log either.Looks like, for some reason, it can't find the MS InstallUtil app. I've had a couple of people experience this problem. One reason would be that you have .Net 3.0 installed (which confuses my code which assumes that .Net 2.0 is the most recently installed version of the Framework). The workaround has been to run InstallUtil.exe manually, as decribed in the second part of this post (http://forums.gbpvr.com/showpost.php?p=181484&postcount=38).

Anyway, I've updated the wiki v2.1 installer with a new version of the UbuRecordingService console app which a) tries to ensure that it correctly picks the .Net 2.0 directory and b) pops up a message box with some diagnostic info if it still can't find InstallUtil.exe. Either this will fix your problem or, at least, give me more info about why you are getting it.

Not surprising there's no log file since this error is occurring before the service has been started.

I too am getting the same exception that Ralphy references after installing V2.1 beta dated 4/3/07.Try the new version and let me know what you get.


Additionally, I am getting the following exception when GBPVR shuts down:Looks like this is triggered by UbuStream trying to write to the log just before GB-PVR closes. Unfortunately I can't reproduce this on my test system. It would be interesting to know what the last thing UbuStream wrote to the log was. Can you attach a copy of your gbpvr.exe.log file (from just after you exit GB-PVR) so I can take a look?

ralphy
2007-04-05, 01:05 PM
Looks like, for some reason, it can't find the MS InstallUtil app. I've had a couple of people experience this problem. One reason would be that you have .Net 3.0 installed (which confuses my code which assumes that .Net 2.0 is the most recently installed version of the Framework). The workaround has been to run InstallUtil.exe manually, as decribed in the second part of this post (http://forums.gbpvr.com/showpost.php?p=181484&postcount=38).


Thanks for the pointers Ubu, although InstallUtil.exe didn't solve my problem. On the surface the error messages I was getting looked very similar to HappyHammer (http://forums.gbpvr.com/showpost.php?p=181670&postcount=40). (Although I didn't really look very carefully)

My solution was to go into the registry and delete the HKEY\LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\EventLog\Application\UbuRecordingService key:eek: as referred to by you (http://forums.gbpvr.com/showpost.php?p=181895&postcount=41). Although I cleared out all the entries in the event log, the key wasn't deleted.

I can now install, uninstall, start and stop the service. Finger crossed, all is working!:)

ubu
2007-04-06, 06:35 AM
Thanks for the pointers Ubu, although InstallUtil.exe didn't solve my problem. On the surface the error messages I was getting looked very similar to HappyHammer (http://forums.gbpvr.com/showpost.php?p=181670&postcount=40). (Although I didn't really look very carefully)

My solution was to go into the registry and delete the HKEY\LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\EventLog\Application\UbuRecordingService key:eek: as referred to by you (http://forums.gbpvr.com/showpost.php?p=181895&postcount=41). Although I cleared out all the entries in the event log, the key wasn't deleted.

I can now install, uninstall, start and stop the service. Finger crossed, all is working!:)Well that's good. I'm still confused by your original error message which appeared to be saying that the Install button code could not find the InstallUtil app. Did you ever figure out why it couldn't find it?

Also, did you get a chance to test my latest fix to UbuDynSourceUpdate (http://forums.gbpvr.com/showpost.php?p=188967&postcount=9) to see if it now works the way you expect?

ralphy
2007-04-06, 12:39 PM
Well that's good. I'm still confused by your original error message which appeared to be saying that the Install button code could not find the InstallUtil app. Did you ever figure out why it couldn't find it?

No idea Ubu. The file was there, but I do have .Net 3 installed on that system. Running the InstallUtil app manually caused errors of "can't uninstall", "rollback", etc etc as per HappyHammer.

Also, did you get a chance to test my latest fix to UbuDynSourceUpdate (http://forums.gbpvr.com/showpost.php?p=188967&postcount=9) to see if it now works the way you expect?
I am out of town for an Easter break for a week, so although I've loaded the file and run it once (it trapped the BBC error ok), I'll let it run for a while to see if it catches everything else! Thanks again for building this wrapper.

JavaWiz
2007-04-06, 02:36 PM
No idea Ubu. The file was there, but I do have .Net 3 installed on that system. Running the InstallUtil app manually caused errors of "can't uninstall", "rollback", etc etc as per HappyHammer.


I too was having the same problem (as was ralphy). What I ended up doing was:

Uninstall UbuStream
Ran the InstallService.exe program (to uninstall) as described here (http://forums.gbpvr.com/showpost.php?p=181895&postcount=41)
Insure the UbuRecordingService directory was removed under Plugins/UbuStream
Run Regedit and remove the UbuRecordingService entrys under HKLM
Reinstall the latest UbuStream v2.1 beta
Let the installer complete w/o attempting to install the service.
Manually (via start - Programs - GB-PVR - UbuStream Plugin 2.1) install the serviceAll seems to be working now, although I have not had a lot of time to check things out, but at least it installed clean and threw no errors.

jksmurf
2007-04-07, 12:56 AM
I get an error when trying to run Web radio using the new Ubustream beta.

I installed Uburadio1.1 first (just dropped them in), as I saw some files from Ubustream 2.1 Beta were newer.

I use both Real Player Alternative and Quicktime Alternative. But the error is the same for Media Player Streams too?

New WinXP install, with GBPVR, so I thought I'd give Ubustream beta a crack... (You might remember I had Ubu Webradio working OK a while back)

k.

[EDIT] - Something else too. In Options General, it keeps asking for a podcast directory. I don't have one, but it was quite insistent, so I had to put one in. Could a default one be made? Say //gbpvr/podcasts?

ubu
2007-04-07, 06:05 PM
I too was having the same problem (as was ralphy). What I ended up doing was:
Uninstall UbuStream
Ran the InstallService.exe program (to uninstall) as described here (http://forums.gbpvr.com/showpost.php?p=181895&postcount=41)
Insure the UbuRecordingService directory was removed under Plugins/UbuStream
Run Regedit and remove the UbuRecordingService entrys under HKLM
Reinstall the latest UbuStream v2.1 beta
Let the installer complete w/o attempting to install the service.
Manually (via start - Programs - GB-PVR - UbuStream Plugin 2.1) install the serviceAll seems to be working now, although I have not had a lot of time to check things out, but at least it installed clean and threw no errors.Sounds like you had the same problem as ralphy. Do you also have .Net 3.0 installed?

The fact that you used the latest UbuStream 2.1 UbuRecordingService console to do the service install suggests that my latest fix may have solved the problem (you would have got a message box complaining about your .Net config if it couldn't find the MS InstallUtil app). So that's encouraging.

I'd like to be able to say that this problem is always caused by having .Net 3.0 installed and that I've now got this covered. But I'm left with nagging doubts. I'm still not sure why you (and ralphy and happyhammer) had to manually remove registry entries. I'm guessing that you can't uninstall the old version of the service once you've upgraded to the new version of the service (the actual exe in the UbuRecordingService directory). If that's true, I could write some code that would be called by the UbuStream installer that would a) check if the service is installed, b) if it exists, use the existing UbuRecordingService app to uninstall it, c) copy the new files into the UbuRecordingService directory and d) install the service using the new UbuRecordingService app. Does that make sense?

btw - the UbuRecordingService checkbox in the beta installer app simply loads the controller dialog app, so it's no different from selecting it from the Start Programs menu. The new recording service files have already been copied into the UbuRecordingService directory at that point (so the damage has already been done :) ).

ubu
2007-04-07, 07:21 PM
I get an error when trying to run Web radio using the new Ubustream beta.

I installed Uburadio1.1 first (just dropped them in), as I saw some files from Ubustream 2.1 Beta were newer.

I use both Real Player Alternative and Quicktime Alternative. But the error is the same for Media Player Streams too?

New WinXP install, with GBPVR, so I thought I'd give Ubustream beta a crack... (You might remember I had Ubu Webradio working OK a while back)Whoops! I made a minor change to the core UbuNetStreamPlayer library and forgot to test it with UbuRadio. Certain components (the UbuNetStreamPlayer dll, the activex dlls for the internal players and the UbuRecordingService app) are shared by UbuStream and UbuRadio so I have to be careful to avoid breaking one plugin when I make a fix to the other. I've changed it so that it will now be compatible with your existing UbuRadio install (v1.1).


[EDIT] - Something else too. In Options General, it keeps asking for a podcast directory. I don't have one, but it was quite insistent, so I had to put one in. Could a default one be made? Say //gbpvr/podcasts?Thanks for noticing this. I had made some changes to trap for the case where you don't have permission to access a network drive (not just where the directory doesn't exist) and, it seems, shot myself in the foot. I've changed it so you don't have to enter a podcast directory. (Not inclined to default it since most people will be using a podcast receiver such as Juice or iTunes and they all have different default locations for the downloaded files).

I've updated the wiki installer to include both these fixes. In case anybody was wondering, the installer will only replace files if the new one has a later date than the currently installed one. So you should be able to run it as many times as you like without adversely affecting your existing installation.

Unrelated: I've used Media Player Classic with UbuStream in the past (as per your screen prints) so I know it works fine when used as an external player. But when you use Preview Play, the embedded versions of RealPlayer or Quicktime are being invoked, not MPC. Sounds like you're using the RP and QT Alternative codecs (and don't have the "official" RP and QT codecs installed at all). So does Preview Play work with the Alternative codecs? I wasn't sure if the activex controls had some "hook" to force you to have the "official" RP and QT products installed.

jksmurf
2007-04-08, 06:42 AM
I've changed it so that it will now be compatible with your existing UbuRadio install (v1.1).

And it works!


I've changed it so you don't have to enter a podcast directory.Great.


Sounds like you're using the RP and QT Alternative codecs (and don't have the "official" RP and QT codecs installed at all). So does Preview Play work with the Alternative codecs? I wasn't sure if the activex controls had some "hook" to force you to have the "official" RP and QT products installed.Yes I am and yes it works fine (at least RP, haven't tried QT). I've never installed the "real" Codecs (new WinXP install as of yestreday). The QT Lite and RT Lite versions both ONLY have Codecs, so you don't even need the player (for the embedded radio in any case).

The RA stream was choppy (on NDR2 at least) though. 96kbps Surestrem was better. Might be just a case of tweaking the buffer for RA?

There is one wierd thing too. After the radio thing is closed down (and even GBPVR), a continuous "popping" sound like a legacy or artefact windows error sound continues to come through the speakers. (Like a pop-up sound I guess). I coudl say "no windows sounds" in my sounds set-up, but what would THAT be?

k.

ubu
2007-04-08, 09:26 AM
The QT Lite and RT Lite versions both ONLY have Codecs, so you don't even need the player (for the embedded radio in any case). That's what I figured. Cool!

I'm not a big fan of RealMedia and Apple (close behind M$ in their arrogant attitude to users, IMHO) but, I hate to admit it, the RealPlayer activex control has been the easiest one to get working and it seems pretty robust compared with the VLC and WMP ones.


The RA stream was choppy (on NDR2 at least) though. 96kbps Surestrem was better. Might be just a case of tweaking the buffer for RA?One thing's for sure about streaming media: you can throw a fast CPU and tons of memory at it but, if the streaming server is having a bad day or your internet conection is having hiccups, it all comes to naught. And then there's the self inflicted stuff. Last week, I was having all kinds of problems with streams that are usually pretty reliable. Then I realized I'd left Joost running on one of my machines and it had been merrily uploading and downloading P2P streams (and chewing up bandwidth) for a couple of days. :o


There is one wierd thing too. After the radio thing is closed down (and even GBPVR), a continuous "popping" sound like a legacy or artefact windows error sound continues to come through the speakers. (Like a pop-up sound I guess). I coudl say "no windows sounds" in my sounds set-up, but what would THAT be?Does the popping sound happen all the time or only after using UbuRadio (or UbuStream)? Could it be that the RealPlayer activex control leaves something still "connected" to XP's Wave In channel? You could try muting the Wave volume slider but keep the master Volume slider normal to test this theory. Also, does the popping sound stop after you play something else on the speakers (an mp3 with Media Player Classic, for instance)?

jksmurf
2007-04-08, 11:18 PM
Does the popping sound happen all the time or only after using UbuRadio (or UbuStream)? As far as I can make out, only after using UbuRadio. It goes away if I reboot....


... it be that the RealPlayer activex control leaves something still "connected" to XP's Wave In channel?

Also after using Windows Media Player. I don't think I'm qualified to say what is happening :-) But maybe?


... You could try muting the Wave volume slider but keep the master Volume slider normal to test this theory. OK, will try it!


.Also, does the popping sound stop after you play something else on the speakers (an mp3 with Media Player Classic, for instance)?Will try that too.

btw, Choosing Ubustream from within WebRadio shows Err: Object .......

[EDIT1]I ran the MVP at 12500, 10000 was not enough for me btw. Something running on the PC (mail checker or something else, but CPU usage basically), kicked it off after about 45 mins btw. Will increasing that number help? I remember of you go too far it doesn't start :-)

[EDIT2]Realaudio Preview Play works btw (and on the PC the RP Window comes up fine), as I said yesterday, but stutters a bit. So I thought I'd try timeshift play. But (in RA only) that says "Stream not available" to my surprise???

ubu
2007-04-09, 06:53 AM
btw, Choosing Ubustream from within WebRadio shows Err: Object .......I can't reproduce that error on my system. Can you attach your gbpvr.exe.log so I can see what's happening?


[EDIT1]I ran the MVP at 12500, 10000 was not enough for me btw. Something running on the PC (mail checker or something else, but CPU usage basically), kicked it off after about 45 mins btw. Will increasing that number help? I remember of you go too far it doesn't start :-)My MVP seems to be affected by any other "claims" on the CPU or the network. I notice that using the MVP and heavy network use (bittorrent, ftp, etc.) don't mix too well. So receiving a web stream, transcoding it and playing it on the MVP all at the same time is, to say the least, a delicate balancing act. UbuRadio only gives you a "one size fits all" for the wait time, whereas UbuStream lets you fine tune the wait time for each station. Ultimately, everybody's setup is different so I guess you just have to use trial and error to get the optimum settings for your system.


[EDIT2]Realaudio Preview Play works btw (and on the PC the RP Window comes up fine), as I said yesterday, but stutters a bit. So I thought I'd try timeshift play. But (in RA only) that says "Stream not available" to my surprise???Looks like you're trying to use Timeshift play with NDR2's RA stream. VLC doesn't officially support RealMedia (although some RA streams will, confusingly, work with it) so I'm not surprised you get the "Stream not available" (which is a generic message I'm using for any condition where the stream won't play). On the other hand, the Windows Media NDR2 stream works fine using Timeshift play. VLC will play most WM audio streams (and, of course, any MP3 stream) so those are the best candidates for using with Timeshift.

jksmurf
2007-04-09, 07:04 AM
I can't reproduce that error on my system. Can you attach your gbpvr.exe.log so I can see what's happening?

Cheers for the rest :-)

k.

idkpmiller
2007-04-09, 08:35 AM
Hi Ubu,

Great work on your plugin, I actually have started to look at it as I was thinking about an RSS feed type of video plugin, you seem to have most of it done so I thought I would save myself some hassle and use what you have so kindly provided.

Ok, I am trying to get my head around how to set up the DynamicSynSources.

I am either finding loads of issues or a complete idiot and doing things totally wrong. I was at this point going to just struggle through and work it all out but then I thought that it would probably be better for the community if I described and documented my experiences for the benefit of others.

I have a picture below (ubu1.jpg that shows a number of things I would like to ask about:

1. You will see in the bottom status bar that it is updating youtube, this never appears to stop if I leave this window open I see no change, is this correct?

2. I dont have a Test Import button as shown and described in the wiki I have an Execute, next a press the execute button as this seems to be the logical thing to do.

The next image ubu2.jpg shows after pressing the Execute button in 2 above:

3. Okay, I have already admitted I am an idiot so, what do I do here? I couldnt seem to find anythin in the wiki or this thread about this that made it clear to me.

4. Having scratched my head I end up pressing the finish button, I then receive the error attached as ubu3.zip array out of bounds!

5. just in case something has actually happened I go into GBPVR and select the "My Youtube Clips" group here I see in the right hand pane a message saying "No stations matching type/group to displa" notice the lack of the 'Y' at the end of the sentence.

6. Again I'm stupid, I select (enter key pressed) the message and get "error object not set to a blah blah.

I am obviously doing something completely wrong but in doing so I have stumbled upon a few errors that you can trap and resolve so hopefully out of this you will advise me what I should be doing and you can trap the errors.

Cheers

ubu
2007-04-09, 07:07 PM
Cheers for the rest :-)No "smoking gun" in your log file. Looks like UbuRadio is finding your UbuStream xml file OK but that there's something it doesn't like while it's reading it. If you attach your UbuStream.xml file, I'll try to reproduce the problem.

jksmurf
2007-04-09, 11:36 PM
No "smoking gun" in your log file. Looks like UbuRadio is finding your UbuStream xml file OK but that there's something it doesn't like while it's reading it. If you attach your UbuStream.xml file, I'll try to reproduce the problem.
Cheers

Could it be the way I installed UbuRadio first, then ran the Ubustreaminstaller?

k.

ubu
2007-04-10, 01:54 AM
Great work on your plugin, I actually have started to look at it as I was thinking about an RSS feed type of video plugin, you seem to have most of it done so I thought I would save myself some hassle and use what you have so kindly provided.

Ok, I am trying to get my head around how to set up the DynamicSynSources.So you're thinking of maybe writing a DynSource app to support RSS feeds. Interesting. Any particular feeds in mind?


I am either finding loads of issues or a complete idiot and doing things totally wrong. I was at this point going to just struggle through and work it all out but then I thought that it would probably be better for the community if I described and documented my experiences for the benefit of others.The fact that you're asking these questions (in a well thought-out, structured fashion) shows you are by no means a "complete idiot". I really welcome these kinds of questions because they force me to explain things that are not adequately documented.


1. You will see in the bottom status bar that it is updating youtube, this never appears to stop if I leave this window open I see no change, is this correct?This is a bug I apparently introduced into v.2.1 fairly recently. If you just click the Finish button without adding any new URLs, you should get the message "0 stations imported from DynSource". I've attached a patch containing a version of UbuStreamPlugin.dll that fixes this.


2. I dont have a Test Import button as shown and described in the wiki I have an Execute, next a press the execute button as this seems to be the logical thing to do.The wiki describes UbuStream v2.0. Looks like you are using the v2.1 Beta release. A lot changed since v2.0 (including the name of this button). I'll get around to updating the wiki whenever I make the new release "official".


The next image ubu2.jpg shows after pressing the Execute button in 2 above:

3. Okay, I have already admitted I am an idiot so, what do I do here? I couldnt seem to find anythin in the wiki or this thread about this that made it clear to me.The idea is that you have your browser open and that you are looking at a YouTube video you want to add to UbuStream. Highlight the page URL (in the address field at the top of the browser) and press Ctrl-C to copy it. Then switch to the DynSource form (the PLX Generator window in your jpg) and click the Paste button (or press Ctrl-V). The URL will show up in the URL field. Now press the Add button. The DynSource app will scrape the YouTube page and extract the "real" URL of the video (along with it's name, description, etc.) and add the video clip name to the list box. Repeat this for as many clips as you want to capture and, when you are done, press Finish. The DynSource app will then create a PLX file and UbuStream will import it. If you now look in the "My YouTube Clips" group, you'll find the clips listed as new stations.

btw - the Google Videos DynSource app works in exactly the same way but with page URL's from the Google Videos site. I find I use the Google one more than the YouTube one, not just because the choice of available videos is richer (which it is) but also because the downloaded station links point to proper video files (avi, etc.) which can be used with any of UbuStream's playback scenarios. I haven't figured out how to find the actual underlying files on YouTube so I had to write a mickey mouse flash video player so you can watch the videos with UbuStream. Not as good, I think you'll find.

sub has this figured out in his YouTube plugin (which he released a few days after I released my YouTube offering - darn it!). He is transcoding the video clips to mpeg files before starting playback which is fine for short clips but not so good for long ones. His plugin is infinitely superior in terms of packaging and integration with GB-PVR. However you are restricted to the pre-defined groups of clips it provides. My DynSource app is great for just grabbing a clip on the fly (eg. if someone emails you the URL of a YouTube clip they think you'd like) and watching it on the TV.


4. Having scratched my head I end up pressing the finish button, I then receive the error attached as ubu3.zip array out of bounds!I can't reproduce this one on my test system. You should just get a pop-up message box telling you that no PLX file was created and then the "0 stations imported...." message in the status bar.


5. just in case something has actually happened I go into GBPVR and select the "My Youtube Clips" group here I see in the right hand pane a message saying "No stations matching type/group to displa" notice the lack of the 'Y' at the end of the sentence.The message is correct but appears to be truncating in your environment. Which skin are you using? I test with the Blue and Community skins and the message displays just fine.


6. Again I'm stupid, I select (enter key pressed) the message and get "error object not set to a blah blah.
You found another bug. Again, I probably caused this during v2.1 code mods. (The more you enhance a piece of software, the more bugs you reintroduce into the existing code, I fear.) Fixed now.


I am obviously doing something completely wrong but in doing so I have stumbled upon a few errors that you can trap and resolve so hopefully out of this you will advise me what I should be doing and you can trap the errors.Thanks for catching some bugs and for asking some good questions. I look forward to seeing an RSS DynSource app. ;) Let me know if you have further questions or need help with the DynSource framework.

If you're interested, here's a little background about the UI DynSource apps:

I originally came up with the DynSource feature as a way of letting people write simple apps to automatically generate content for UbuStream. The cornerstones of the DynSource architecture are a standard interchange format for UbuStream stations and groups - the PLX file (which is basically a PLS file with some additional data - PLX means PLS eXtended) and a shared class library which contains methods that do much of the standard grunt work (connecting to a web site, reading an HTML page, writing the PLX file, etc.). So this means the DynSource author only needs to worry about scraping the HTML (or any other source) and populating the section (group) and site item (station) objects.

So this worked quite well and a number of people have written DynSource apps, providing content from a variety of sources. Most of these apps are non-interactive apps that scrape web content from sites containing reasonably finite numbers of candidate streams. But I wondered if I could extend the architecture to support a) generating content from sources other than web sites and b) capturing content from web sites where the number of available links is too large for automatic scraping so that the user probably wants to manually "cherry pick" streams to import into UbuStream.

To illustrate the first capability, I wrote the Podcasts DynSource app which creates UbuStream stations and groups based on the contents of the directories used by your Podcast receiver (iTunes, Juice, etc.) and keeps them updated.

To enable the second case, I extended the DynSource class library to include a simple generic form that allows the user to paste page URLs into a list and create a PLX file. To demonstrate how this might work, I wrote the two "UI" apps for capturing Google and YouTube clips. I don't really view these as "professional grade" and I realize that the way they're integrated into the UbuStream config app is somewhat hokey. They were really intended as a "trial balloon" to see if there was any interest in taking the DynSource architecture further in that direction. I haven't really had any feedback about them so I've been focussing on other aspects of UbuStream (the new features in the v2.1 Beta, for instance). For the same reason, I didn't bother to add much documentation of these apps to the wiki. Nonetheless, I find that I use the Google one quite a bit myself. There's a lot of good stuff on the Google Videos site, including a large number of full length classic movies.

The shared Dynamic Source library is open source and so are the DynSource apps I've written. Ideally, all DynSource app authors should make their source code available too. Since the target web sites are apt to change their page formats from time to time, its useful to have the source available to the rest of us if the author has disappeared or lost interest.

Anyway, copy this dll into your Plugins directory and see if it fixes the two bugs: 10453 (You may also notice a few other changes to the config app - I've rearranged the tree view a bit and added child stations under parent group nodes so you can navigate easily from a group to its stations.)

ubu
2007-04-10, 02:47 AM
Could it be the way I installed UbuRadio first, then ran the Ubustreaminstaller?Well, I guess I'd sort of assumed that if someone used the UbuStream button in UbuRadio it would be because they wanted to access a station they had already set up in UbuStream. I must admit it never occurred to me that the UbuStream database would contain no stations at all. :rolleyes:

Your UbuStream.xml file revealed that I'm not checking for the "no stations found" case. I've fixed it but I'm holding off on updating the wiki since I'm also working on a proper installer for UbuRadio. I'll include the fix with that.

Meanwhile, you could try actually defining a station or two in UbuStream. Then they should show up in UbuRadio too (just the "audio" ones) and you won't get the error.

As to your question above, in theory it shouldn't matter which plugin is installed first. However, I'm aware of a few potential pitfalls with the current approach to doing the installs so I'm working on two new installers that should, I hope, be bulletproof.

And thanks for finding the bug. I'm pretty sure I'd never have found that one myself. :)

jksmurf
2007-04-10, 03:03 AM
Well, I guess I'd sort of assumed that if someone used the UbuStream button in UbuRadio it would be because they wanted to access a station they had already set up in UbuStream. I must admit it never occurred to me that the UbuStream database would contain no stations at all. :rolleyes:


And thanks for finding the bug. I'm pretty sure I'd never have found that one myself. :)LOL... you'd never imagine how silly I can be be .... but to be honest, I'm not that interested (at this stage at least) in Ubustream. I just wanted the radiostation ON the MVP, which Uburadio does (well too, I might add). I couldn't see the point of adding a station to Ubustream when I knew I could do it in Ubradio.

Ubustream is a requirement of Uburadio. So I HAD to install it :-). The fact that I just happened to press it while IN uburadio was just one of those curiosity things..you know...what does THIS button do?

btw, just a cosmetic thing. In WebRadio, the text at the bottom of the screen telling you what the button does, does not change when you scroll through the menu. It appears to have been written for the Play button (only), but the same text appears for Stop, etc. (Or is this text intended to be applicable to the WHOLE menu)?

k.

ubu
2007-04-10, 03:49 AM
LOL... you'd never imagine how silly I can be be .... but to be honest, I'm not that interested (at this stage at least) in Ubustream. I just wanted the radiostation ON the MVP, which Uburadio does (well too, I might add). I couldn't see the point of adding a station to Ubustream when I knew I could do it in Ubradio.If you're only interested in audio streams then you have a point. On the other hand, if you want to add stations that aren't available via the Find Stations feature, then editing the UbuRadioFavourites.xml file by hand is a bit of a pain. The UbuStream config app gives you an easy way to add stations to the UbuStream database. Then you can play them directly from UbuRadio or use the Add button to add them to your UbuRadio favourites.


Ubustream is a requirement of Uburadio. So I HAD to install it :-).UbuStream isn't a requirement for UbuRadio. If you don't have UbuStream installed then the UbuStream button just won't show up on the UbuRadio menu. The two plugins share common components but are designed to be independant of each other.


btw, just a cosmetic thing. In WebRadio, the text at the bottom of the screen telling you what the button does, does not change when you scroll through the menu. It appears to have been written for the Play button (only), but the same text appears for Stop, etc. (Or is this text intended to be applicable to the WHOLE menu)?The text at the bottom of the screen tells you what you should do with the current panel's list items ("Select a station", "Select a country", etc.) not what the menu buttons do (I hope they're self-explanatory :)). I figured that changing that message every time the user moves the focus to a different screen element is more work than I'd signed up for. ;)

jksmurf
2007-04-10, 04:02 AM
The UbuStream config app gives you an easy way to add stations to the UbuStream database. Ah I see. That IS useful.


UbuStream isn't a requirement for UbuRadio.

Arrghh. OK. When I saw this in the wiki I thought I needed it. But you are correct, the radio d/l DOES have it. "Copy the UbuRecordingService Controller shortcut from gbppvr/Plugins/UbuStream/Shortcuts to your desktop (or pin it to the Windows start menu)."


I figured that changing that message every time the user moves the focus to a different screen element is more work than I'd signed up for. ;)OK, no worries... I can work it out without the extra instructions... and I think my wife can too. Better do or that's it, no allowance this week... wait a minute ... she earns more than I do....

k.

idkpmiller
2007-04-10, 09:05 AM
So you're thinking of maybe writing a DynSource app to support RSS feeds. Interesting. Any particular feeds in mind?


I love GeekBrief TV so thats one I will be testing with no matter what method I end up using to get into GBPVR.



If you just click the Finish button without adding any new URLs, you should get the message "0 stations imported from DynSource". I've attached a patch containing a version of UbuStreamPlugin.dll that fixes this.


New patch fixes bug, you may also want to put some error trapping on the ADD button else array out of bounds errors occurs if nothing to add.



The idea is that you have your browser open and that you are looking at a YouTube video you want to add to UbuStream. Highlight the page URL (in the address field at the top of the browser) and press Ctrl-C to copy it. Then switch to the DynSource form (the PLX Generator window in your jpg) and click the Paste button (or press Ctrl-V). The URL will show up in the URL field. Now press the Add button. The DynSource app will scrape the YouTube page and extract the "real" URL of the video (along with it's name, description, etc.) and add the video clip name to the list box. Repeat this for as many clips as you want to capture and, when you are done, press Finish. The DynSource app will then create a PLX file and UbuStream will import it. If you now look in the "My YouTube Clips" group, you'll find the clips listed as new stations.


I may be missing something here, it seems that to provide the source I need to use a browser and the ubuconfig app, do these have to be run on the GBPVR PC? as this seems intrusive and not particularly dynamic. I use GBPVR as an appliance and try to keep "desktop time" (Windows desktop visible) to a minimum.




The message is correct but appears to be truncating in your environment. Which skin are you using? I test with the Blue and Community skins and the message displays just fine.


You are spot on it was a skin issue, I was actually using the community skin but had a larger font (I have dim vision) this was causing the minor cosmetic issue I was seeing.



You found another bug. Again, I probably caused this during v2.1 code mods. (The more you enhance a piece of software, the more bugs you reintroduce into the existing code, I fear.) Fixed now.


Confirmed fixed.



Thanks for catching some bugs and for asking some good questions. I look forward to seeing an RSS DynSource app. ;) Let me know if you have further questions or need help with the DynSource framework.


I am in discovery mode regarding RSS feeds, so once I get my head totally around the Dynsource capabilitys and the video attachment for RSS 2.0 I will decide how the integration should be tackled.

I cant seem to play the Youtube clips I have setup due to the lack of the ubuflashplayer, is this a separate download?

You are doing an excellant job with your streaming plugin, it would be great to contribute to your plugin.

Thanks

ubu
2007-04-11, 04:08 AM
I love GeekBrief TV so thats one I will be testing with no matter what method I end up using to get into GBPVR.I use UbuStream to watch GeekBrief TV. I subscribe to the "large format" feed (which is pretty high quality video and looks good on a TV, btw) so my podcast receiver automatically downloads the latest episodes. Then I have the Podcasts DynSource app set up so they automatically show up as UbuStream stations.

Things that could be better:
The Podcasts DynSource app reads ID3 tags from mp3 files to get the title and description but, since mp4 files don't have tags, this is not available. Also, if the tag info isn't available, the podcast file name is used as the station name. The GeekBrief file names contain the episode number but not the title, so the name isn't very informative. Presumably, if the app had access to the actual rss data (the xml) it could extract this data.
Also, I notice that GeekBrief offers a WMV feed but I haven't figured out how to subscribe to it (or which podcast receiver to use). This would be a good option because, while the mp4 files play fine using UbuStream's Preview Play mode (with either the Quicktime or VLC players), for some reason, VLC can't transcode them to mpeg so you can't use Timeshift Play. I'd imagine the WMV files would transcode OK.
New patch fixes bug, you may also want to put some error trapping on the ADD button else array out of bounds errors occurs if nothing to add.I'll add it to the list but, as I've been saying, unless I hear that other people are actually using the two UI DynSource apps, it's not likely to be a priority for me.


I may be missing something here, it seems that to provide the source I need to use a browser and the ubuconfig app, do these have to be run on the GBPVR PC? as this seems intrusive and not particularly dynamic. I use GBPVR as an appliance and try to keep "desktop time" (Windows desktop visible) to a minimum.In a sense, you're correct. The DynSource architecture, as its name suggests, is mainly about seamlessly providing UbuStream with dynamically changing sets of content. The initial release of UbuStream was developed with the aim of allowing GB-PVR to support a fairly static set of URLs pointing to live media streams. But I quickly realized that it should also support VOD streams and that this required a means to capture frequently changing sets of URLs without much user interaction so the Dynamic Source approach seemed like a reasonable solution.

The two "UI" DynSource apps, as I mentioned in my earlier post, were really intended to show that the DynSource architecture might be used for different kinds of things. Since nobody seemed to really pick up the idea for discussion, I assumed that this "trial balloon" had turned into a "lead balloon". :)

I think "HTPC as appliance" is totally what GB-PVR is all about. However, when you use the GB-PVR or UbuStream config apps, it probably makes sense to view them as PC apps. For instance, I'd imagine that most people use VNC or Windows Remote Desktop to run these apps (the TV isn't the greatest display for reading text, etc.). I can access my GB-PVR desktop from any machine on my network so, if I'm browsing the web and I see a stream I want to add to UbuStream, I just bring up the remote desktop, fire up the UbuStream config app and copy in the URL I want. For many sites (such as YouTube and Google Video), however, this always involves displaying the page source and searching through the HTML for the actual stream URL (and often having to follow the breadcrumb trail through several pages before you find it). The PLX generator form simply saves a bit of time since it calls the appropriate C# method to automate that process for each site. And it adds a bit of value by also grabbing the title and descripton of the stream and letting you "batch" multiple items into a single import.


I am in discovery mode regarding RSS feeds, so once I get my head totally around the Dynsource capabilitys and the video attachment for RSS 2.0 I will decide how the integration should be tackled.It'll be interesting to hear what you end up planning to do. The Podcasts DynSource app was really intended for audio podcasts (which it handles quite well) so it's a bit limited when it comes to video podcasts. Maybe it could be enhanced to do a better job or maybe you'll see a need for something more closely coupled to the RSS feed (ie. removing the need for additional podcast receiver software).


I cant seem to play the Youtube clips I have setup due to the lack of the ubuflashplayer, is this a separate download?
LOL :D Well that kinda proves my point. I forgot to add it to my "fancy" new installer app for the v2.1 Beta and you're the only one who noticed! I'll add it to the next cut. In the meanwhile, I've attached it here: 10466 Just copy it into the UbuStream/DynSource directory. Then you'll need to add it as a new media player using the config app: Player name: UbuFlashPlayer (case sensitive), Player application: the exe file you just copied, Fullscreen parm: blank. UbuFlashPlayer is only required for the YouTube app. The Google Video streams all play with VLC (and most will work with WMP).


You are doing an excellant job with your streaming plugin, it would be great to contribute to your plugin.Look forward to working with you.

ralphy
2007-04-12, 01:07 PM
Does anyone have any ideas what's going on here? Uninstalled and re-Installed beta 2.1 (April 7) with patch 5 and get the following GBPVR error.



12/04/2007 8:55:00 PM.562 INFO [1] UbuStream plugin is loading...
12/04/2007 8:55:00 PM.593 ERROR [1] Error initializing menu plugin: C:\Program Files\devnz\gbpvr\plugins\UbuStreamPlugin.dll
12/04/2007 8:55:00 PM.593 ERROR [1] Exception has been thrown by the target of an invocation.
12/04/2007 8:55:00 PM.609 ERROR [1] at System.RuntimeTypeHandle.CreateInstance(RuntimeTyp e type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache)
at System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at GBPVR.Backend.Common.xc4f12ec3a8a4c96b.xb77fa95273 e0c228(Boolean x8bae2a88590d8cc0)
12/04/2007 8:55:00 PM.609 ERROR [1] Inner exception: System.FormatException: String was not recognized as a valid Boolean.
at System.Boolean.Parse(String value)
at UbuStreamPlugin.UbuStreamGlobal..ctor(XMLSchema1 ubuSchema)
at UbuStreamPlugin.UbuStreamPluginTask..ctor()
12/04/2007 8:55:00 PM.609 ERROR [1] at System.Boolean.Parse(String value)
at UbuStreamPlugin.UbuStreamGlobal..ctor(XMLSchema1 ubuSchema)
at UbuStreamPlugin.UbuStreamPluginTask..ctor()
12/04/2007 8:55:00 PM.609 VERBOSE [1] GuideMenuTask created

ubu
2007-04-12, 09:10 PM
Does anyone have any ideas what's going on here? Uninstalled and re-Installed beta 2.1 (April 7) with patch 5 and get the following GBPVR error.Welcome back from your Easter break. I've tried to reproduce your problem (clean install of the current wiki bet 2.1 version, applied patch 5, then copied in the version of UbuStream.xml that you sent me on 3/28) but I don't get that error.

The error message seems to be complaining about the UbuStreamGlobal section of your UbuStream.xml file. Have you tried using an earlier version of your xml file? Do you get the error if you delete the xml file (so UbuStream creates a new, empty one)? If you attach your current UbuStream.xml file, I'll see if I can reproduce your error.

ralphy
2007-04-12, 11:58 PM
The error message seems to be complaining about the UbuStreamGlobal section of your UbuStream.xml file. Have you tried using an earlier version of your xml file? Do you get the error if you delete the xml file (so UbuStream creates a new, empty one)? If you attach your current UbuStream.xml file, I'll see if I can reproduce your error.

Aha, so that's how I can read the error log! You learn something everyday!

For some reason the config file only looked like this in the UbuStreamGlobal section.




<UbuStreamGlobal>
<Fullscreen>true</Fullscreen>
<Minimize_Audio>false</Minimize_Audio>
<Sort_Alpha>true</Sort_Alpha>
<AutoSynch_At_Startup>false</AutoSynch_At_Startup>
<Podcast_Folder>Choose podcast folder</Podcast_Folder>
</UbuStreamGlobal>


So it is missing quite a bit of stuff. Unfortunately, I am not able to pinpoint what caused this. All I can remember doing was installing the latest beta to get rid of the original problem (below), and also removing all sections from the BBC dynsource.

Now I get a 'can't find skin\blue\Common Dialogs\Prompt Box\skin.xml' in GBPVR. Which app installs this/where can I find it??

I am still away from home, so can't compare with my other systems.

JavaWiz
2007-04-13, 12:54 AM
First I have to say, you've done a really good job on this new version, much appreciated.

I am having an intermittent problem though when shutting down GBPVR. UbuStreamPluginTask frequently throws an exception trying to write something to the log AFTER the logger function has closed the file.

System.ObjectDisposedException was unhandled
Message="Cannot access a closed file."
Source="mscorlib"
ObjectName=""
StackTrace:
at System.IO.__Error.FileNotOpen()
at System.IO.FileStream.Write(Byte[] array, Int32 offset, Int32 count)
at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)
at System.IO.StreamWriter.Flush()
at GBPVR.Public.Logger.LogMessage(Int32 level, String message)
at GBPVR.Public.Logger.Info(String message)
at UbuStreamPlugin.UbuStreamPluginTask.Finalize()

I can send my log files if you'd like also, but I did scan and did not find any errors in any of them. If you'd like the logs, tell me which ones and I will post.

Thanks again for the great plugin.

ubu
2007-04-13, 01:40 AM
For some reason the config file only looked like this in the UbuStreamGlobal section.




<UbuStreamGlobal>
<Fullscreen>true</Fullscreen>
<Minimize_Audio>false</Minimize_Audio>
<Sort_Alpha>true</Sort_Alpha>
<AutoSynch_At_Startup>false</AutoSynch_At_Startup>
<Podcast_Folder>Choose podcast folder</Podcast_Folder>
</UbuStreamGlobal>
So it is missing quite a bit of stuff. Unfortunately, I am not able to pinpoint what caused this. All I can remember doing was installing the latest beta to get rid of the original problem (below), and also removing all sections from the BBC dynsource.Looks like you've picked up a v2.0 UbuStream.xml file. That's how the UbuStreamGlobal section looked in v2.0. I added a bunch of stuff to the XML schema for v2.1. The UbuStream.xml file that you sent me on 3/28 had a valid v2.1 format, so I don't know what you're looking at now. :confused:

If you want to convert an "old" xml file to the current format, you should run the UbuStream config program before you use UbuStream from GB-PVR. When the config app loads it runs some code to convert old formats to the new schema.


Now I get a 'can't find skin\blue\Common Dialogs\Prompt Box\skin.xml' in GBPVR. Which app installs this/where can I find it??That's part of the CommonGBPVRUtilities install. (Don't look at me. I didn't do anything. :D ) Right now, as you know, the CommonGBPVRUtilities and GbpvrUIElements libraries are prerequisites for installing UbuStream (as per the wiki). I'm working on new, improved installers for both UbuStream and UbuRadio and one of the things I'm adding is a check to see if they're installed and, if not (or an old version is installed) the setup app will install them. (The uninstall apps will not uninstall them, however, in case something else is using them.)

ubu
2007-04-13, 02:59 AM
I am having an intermittent problem though when shutting down GBPVR. UbuStreamPluginTask frequently throws an exception trying to write something to the log AFTER the logger function has closed the file.

....

I can send my log files if you'd like also, but I did scan and did not find any errors in any of them. If you'd like the logs, tell me which ones and I will post.Actually, yes, your gbpvr.exe.log file would be very helpful. I want to see the last thing UbuStream writes to the log before this occurs. I've been chasing this one for a while (unfortunately, it's intermittent and hard to reproduce) so your help would be appreciated.

Basically, I write a log entry when the plugin's destructor is invoked (but, presumably, GB-PVR is still alive at that point so the log file should still be open) but then I do some clean up to make sure any existing players are shut down. Depending on which player was being used and its state (whether you were using Preview, Timeshift or External play, which type of stream - WMP, Real, VLC, etc. - was being played, had you already closed the player before exiting) a variety of different methods/classes might be in play, each of which could try to write to the log. My (perhaps naive :) ) assumption is that all this work invoked from the Finalize method will occur before GB-PVR closes down its log file. Maybe there's something I'm not understanding about how this all works. If I could get a sure-fire reproduceable case, hopefully I could nail it down.

JavaWiz
2007-04-13, 03:09 AM
Here is the log file. I also pasted the exception from the debugger at the end.

ubu
2007-04-13, 04:03 AM
Here is the log file. I also pasted the exception from the debugger at the end.So the first log message in the destructor (Finalize method) wasn't getting written so that looks like the culprit. I've commented out all the code in that method (since, if the exception was being thrown on the first line, presumably the rest of the code never got executed). Try this version of the plugin dll and see if it fixes the problem: 10498

I guess I was just being over-enthusiastic in my clean up efforts. Hopefully the garbage collector will take care of any lingering player objects. If your "forum name" means what it suggests, you should be able to tell me what I ought to be doing ;) (although the C# garbage collector works a little differently from Java, I believe).

ralphy
2007-04-15, 06:18 AM
Ubu, I know you have been thinking about this issue - Is the passing of command line parameters to a dynsource implemented yet?

I have completed a new BBC dynsource app that can take command line arguments for users to choose between realplayer and WMP streams; the UK or International versions; and broadband (for the lucky ones in the UK), or narrowband. The dynsource is being tested at the moment, and seems to be working ok so far.

ubu
2007-04-15, 08:54 AM
Ubu, I know you have been thinking about this issue - Is the passing of command line parameters to a dynsource implemented yet?

I have completed a new BBC dynsource app that can take command line arguments for users to choose between realplayer and WMP streams; the UK or International versions; and broadband (for the lucky ones in the UK), or narrowband. The dynsource is being tested at the moment, and seems to be working ok so far.Aha! You hit the nail right on the head. One of the reasons I was thinking about adding command line parameters was when I was looking at re-writing the BBC DynSource app myself and I realized exactly the same thing you did. :D The URLs for each of those options is available in the BBC pages and it would, indeed, be very nice to offer users the option of which kind of stream they wanted.

I actually got as far as adding code for simple parm passing when I realized I hadn't fully thought it out, so I removed it again. I'd provided a field on the DynSource config panel so users could enter a free-form set of parms, but that seemed a bit lame. Seems like a DynSource app should be able to a publish a form (or forms) to allow users to customize/configure the app's behaviour and that UbuStream should have a better integrated way of displaying the forms. I had a shot at doing this with the YouTube and Google Video DynSource apps, but they are a somewhat awkward implementation. Probably the form part should have been decoupled from the main dynsource code to allow greater flexibility.

One approach would be for you to use a .Net application configuration file which you could read at run time, using the .Net Configuration Manager, to get the parm values you want to use. This is incredibly easy to set up (I can give you the code to do it if you need it). For now, the config file could be created/changed manually. Then we can figure out the best way to maintain the config file from UbuStream (via a custom form, or whatever) later.

btw - I got your PM. Just haven't had time to reply yet (and I want my reply to make sense :) ). Maybe we should add this issue to that ongoing discussion.

JavaWiz
2007-04-16, 02:48 AM
Good News, Bad News...

Good News, the patch seem to fix UbuStreamPluginTask error.
Bad News, now the UbuRadioPluginTask is getting the error.

System.ObjectDisposedException was unhandled
Message="Cannot access a closed file."
Source="mscorlib"
ObjectName=""
StackTrace:
at System.IO.__Error.FileNotOpen()
at System.IO.FileStream.Write(Byte[] array, Int32 offset, Int32 count)
at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)
at System.IO.StreamWriter.Flush()
at GBPVR.Public.Logger.LogMessage(Int32 level, String message)
at GBPVR.Public.Logger.Info(String message)
at UbuRadio.UbuRadioPluginTask.Finalize()

ubu
2007-04-16, 06:56 AM
Good News, Bad News...

Good News, the patch seem to fix UbuStreamPluginTask error.
Bad News, now the UbuRadioPluginTask is getting the error.Yup, same problem. Try this fixed version: 10539 Sounds like you haven't noticed any adverse effects from my removing the Finalize logic from the UbuStream plugin so, hopefully, UbuRadio will be the same.

JavaWiz
2007-04-17, 06:21 AM
Patch seemed to fix the problems. I've had no more exceptions. Thanks.

ubu
2007-05-03, 03:07 AM
I've decided to "declare victory" on the v2.1 beta as it seems fairly stable now. Trouble is, I haven't had time to update the wiki because I've been working on the next release (v2.2). So I'm just calling the v2.1 release an "enhanced version" (see the wiki) and I'll wait till v2.2 is ready before I do another "official" release (with updated wiki pages, docs., etc.).

The v2.1 setup app available on the wiki is the most recent cut. I won't be able to fix bugs (unless they're critical ones) for a while since I've switched my development environment to v2.2 (which has some radical changes under the hood).

Watch this forum for an "opportunity" :D to participate in the v2.2 beta. Things I'm working on: an n-tier group hierarchy (allowing groups within groups or a mix of groups and stations within groups), station image display, re-jigged DynSource logic to support multi-tier groups and a few other things.

jksmurf
2007-05-03, 04:15 AM
ubu

I installed both Stream and radio latest versions with the intention of trying out the uninstall for Stream. You may remember I recommended installing radio and stream in GBPVR?

Well the new (beta) stream installed in the MAIN branch of start menu progs (under Windows Movie Maker), and radio in GBPVR. SO I uninstalled it out of the main branch and when I check the GBPVR branch Radio AND stream was there? Maybe it was a previous install. Anyway, it won't UNinstall from there. Can I just delete it manually?

k.

ubu
2007-05-03, 05:55 AM
I installed both Stream and radio latest versions with the intention of trying out the uninstall for Stream. You may remember I recommended installing radio and stream in GBPVR?Yes, indeed. I took your advice, so it should be creating the UbuStream and UbuRadio folders inside the GB-PVR start menu folder.


Well the new (beta) stream installed in the MAIN branch of start menu progs (under Windows Movie Maker), and radio in GBPVR. SO I uninstalled it out of the main branch and when I check the GBPVR branch Radio AND stream was there? Maybe it was a previous install. Anyway, it won't UNinstall from there.I did have a bug in the setup program(s) where, if a previous install had installed the folders in the main start menu branch, its registry entry was overriding the new location (in the GB-PVR folder). I thought I'd fixed it (famous last words ;) ).

If the GB-PVR folder does, in fact contain folders for UbuStream and UbuRadio then your install is probably good. The UbuStream Plugin v2.1 folder in the main start menu is probably just left over from the old version. (The new folder is called "UbuStream"; the old installer created one called "UbuStream Plugin v2.1"). The installer should be removing the old one, but for some reason, it didn't remove yours. I probably should warn people that they should explicitly uninstall any old version of v2.1 before installing the new one. (The problem will only affect people who have been helping with the v2.1 beta testing. V2.0 didn't create any start menu entries.)


Can I just delete it manually?Manually deleting the old start menu entries should be fine. If the new folders in the GB-PVR folder look OK (and the menu items work when you click them :D ) then the registry entries are probably pointing to the GB-PVR folder and future installs should work OK.

Thanks for testing the setup apps, btw. It's incredibly hard to test for all possible situations (especially with both plugins in play) so your findings are appreciated. :)