Git Product home page Git Product logo

sagetv's Introduction

This file outlines the overall directory layout for the SageTV codebase,
 what all the various components in it and what you need to build it on
 different platforms.

Directory Layout

build - build files/scripts for Linux
buildwin - misc. files for Windows & Linux installs, and build scripts for
	 non-MS dev built files on Windows
i18n - internationalization files
images - graphics that are included in the Sage.jar file
install - default config files for installs
java - java source code
native - C/C++ source code, top-level MSDEV projects for Windows native code
native/ax - Windows DirectShow filter C++ source code
native/Build/ - Windows binaries; created dynamically by building Native code
native/common - shared common source/header files
native/crosslibs - cross platform native code
native/dll - Windows DLL C++ source code
native/elf - native executable linux source code
native/exe - Windows executable C++ source code
native/include - includes files (both platforms)
native/so - Linux native library C/C++ code
stvs - STV XML, resource and image files
third_party - Third party source code is located here. 

Various components in SageTV rely on code that is in the third_party directory
and utilize it directly in some cases. Some other third party components stand
on their own and are just part of the overall distribution.

For building on Linux you should set JDK_HOME to be the directory where the JDK
is installed (it should have an include and an include/linux folder at that path).

Extra Linux packages required to build (not exhaustive): lib1394raw-dev,
libavc1394-dev, libiec61883-dev, libfreetype6-dev, yasm

jhead is NOT included in the open source distribution due to it being under the
ambiguous Public Domain license. It can be acquired separately and is needed for
fixing the EXIF JPEG header after rotating pictures.

You can use the build/buildall.sh script on Linux to build the entire platform and
have it packaged into tarballs and debian installers.

The Windows components need to be built with Visual Studio 2005, mingw/msys and javac.
There is no script for doing this included.

Release Notes for V9

1. Java compliance level is now 1.5
2. Read/write locking support in the database (previously, it only had generic rw locks... now there are explicit locks for read and write on each table)
3. If on a menu w/out full screen video, but video is playing, switch to the full screen video menu when the screen saver timeout expires
4. Lucene support for search (search API calls are now executed on the server and utilize the Lucene index for performance)
5. Loads of various bug fixes and performance enhancements :)
6. New Airing API calls: GetParentalLimitsExceeded, GetPlayableAiring
7. New Channel API calls: GetChannelLogoURL
8. New Configuration API calls: SetCurrentlyAiringProgramsStartLive, GetCurrentlyAiringProgramsStartLive
9. New Database API calls(NTE methods support numeric text input, such as using 228 would match ‘cat’ or ‘bat’, more details in the code): SearchForPeopleNTE, SearchForTitlesNTE, SearchSelectedFieldsNTE, GetMediaMask, HasMediaMask, SearchForChannel
10. Various filtering, sorting and grouping methods in the Database API are now optimized and don’t go back through the API interpreter for filter/sort/group method execution
11. Following Database API calls now support extra args to pass to filter/sort/group methods: FilterByBoolMethod, FilterByMethod, GroupByMethod
12. New Favorite API calls: GetFavoritePresentationName, GetFavoritePresentationPrefix, GetFavoritesForAiring
13. New Global API calls: SageCommand (with payload), IsTransitioningToMenus, IsTransitioningFromMenus, GetUIComponentPositionXf, GetUIComponentPositionYf, GetUIComponentWidthf, GetUIComponentHeightf, IsClientDisconnected, GetClientServerConnectionProgress, GetEPGUpdateState, SwitchEmbeddedModeTo/AreScreenshotsSupported/SaveScreenshotToFile (these 3 are only useful on embedded)
14. New MediaPlayer API calls: GetRecentChannels, ClearRecentChannels
15. New SeriesInfo API calls: GetSeriesImage(bool), GetSeriesImageURL, GetSeriesImageCount, GetSeriesImageAtIndex, GetSeriesImageURLAtIndex, HasSeriesActorImage, GetSeriesActorImage, GetSeriesActorImageURL
16. New Show API calls: IsMovie, HasMovieImage, GetMovieImage, GetMovieImageURL, GetMovieImageCount, GetMovieImageAtIndex, GetMovieImageURLAtIndex, HasPersonImage, GetPersonImage, GetPersonImageURL, GetPersonDateOfBirth, GetPersonDateOfDeath, GetPersonBirthplace, GetPersonID, GetPersonForID, GetMovieStarRating
17. New Utility API calls: GetMetaImageAspectRatio, GetMetaImageBytes, GetLocalFileAsString, ConvertNteChars, StringIndexOfNTE, StringStartsWithNTE, DumpServerThreadStates
18. Person is a new database object (rather than just being Stringer objects as they were previously)
19. Series/person/character image information now exists in the database (follows TMS naming conventions)
20. Thread monitoring and regular logging of CPU usage of various threads
21. Significant performance improvements to overall database system
22. Licensing/key checking code removed
23. “Spoiler Protection” when watching live TV, it will not default to a channel which could possibly ‘spoil’ something else you care about. It also tries to avoid selecting anything that needs parental control by default.
24. Codebase from EMBEDDED (HD300) merged with main SageTV codebase (NOTE: This will no longer run on the HD300 because it’s not Java 1.5 source rather than Java 1.4)
25. Added new hooks: RecordRequestLiveMultiConflict, WatchRequestLiveMultiConflict (these allow processing all conflicts for watch/record requests at once rather than one at a time; if these hooks are not in the STV then the non-Multi hooks that have always existed will be called instead)
26. TVTV support removed
27. Added property “hdmi_always_select_best” which defaults to false, but if set true will auto select the best HDMI resolution for extender clients
28. Added property “studio/alert_on_syntax_error” which defaults to false, but if true will popup an alert in the Studio if a syntax error is entered (i.e. an expression the parser cannot properly compile)
29. Support for rendering of CEA-708 closed captions (i.e. Digital TV closed captions)
30. Added downloader for Weather Underground data (API license key required to use)
31. CVS integration for SageTV Studio (although not that useful since this is hosted on GIT now; but it’s done in an abstract way so GIT support could be added)
32. Added RemotePusherClient support. This allows for a separate process that handles the streaming (push & pull mode) for SageTV rather than running this through the Java classes.
33. On Windows, the global environment variable SAGETVUSERKEY should be set to be your license key if you’re using the EXE built from the open source codebase. This will then allow you to communicate with the SageTV EPG server.

sagetv's People

Contributors

ai7 avatar andyvshr avatar atarijeff avatar barberio avatar bobphoenix avatar cbasolutions avatar coppit avatar crazifuzzy avatar enternoescape avatar jason-bean avatar jfthibert avatar jreicheneker avatar jrekiwi avatar jusjoken avatar justfred51 avatar jvl711 avatar leizleiz avatar lgkent avatar narflex avatar ojones-sage avatar qianzhang5 avatar rflitcroft avatar skiingwiz avatar slugger avatar stuckless avatar tarikozket avatar troll5501 avatar tuscanraider avatar webernissle avatar wnjj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sagetv's Issues

mvp.bin missing (purposeful?)

I discovered that mvp.bin doesn't appear to be in the repo so doesn't get included in the pre-packaged deb files created when you build from source. This prevents connections to a Linux sage server from a media MVP client (yes, I still use one even though it's ancient :-P). Is this purposeful (licensing issues maybe?). I noticed while setting up a linux box to replace my windows install of Sage (I've wanted to get rid of my only windows box for years :)). Using mvp.bin from the windows install works great, but thought it would be good to include in the source if not against any licensing restrictions.

HDHomeRun linux EPG data missing from channels

With the native linux HDHomeRun support, channels get scanned and you can tune in, however the EPG data is not received like on the SageTV 7 setup on Windows.

First you would need to understand how the EPG stream of a channel is received in SageTV, most likely something is not setup correctly for HDHomeRun.

ArrayIndexOutOfBoundsException in file downloader

When downloading certain YouTube videos this error is generated. As an example:
Channel: BuzzFeedVideo
Video: NASA Scientist reviews " The Martian"
Video Link: https://www.youtube.com/watch?v=GLYzYf0k9yQ

Logfile:

Mon 10/12 19:17:25.201 [ReProcessHook@787d25] Download requested for files server=https://r7---sn-a8au-hp5l.googlevideo.com/videoplayback?initcwndbps=340000&dur=145.194&signature=C52F82616D6A86B657B1E05C9E0C98586DF564FB.0EE857D9382BA403D1D0EAEF4C96AB6D93F00E1C&sver=3&upn=LV6xWMMf1rM&key=yt6&ratebypass=yes&ipbits=0&itag=22&fexp=9406128%2C9408710%2C9409069%2C9414764%2C9415516%2C9416126%2C9417487%2C9417707%2C9418204%2C9418448%2C9418897%2C9419303%2C9420348%2C9420437%2C9421013%2C9421137%2C9421169%2C9422342%2C9422383&requiressl=yes&mime=video%2Fmp4&ip=24.48.134.228&mm=31&source=youtube&pl=21&mn=sn-a8au-hp5l&id=o-ACxVl0cvmBf8gVjqs4fR0qGWblv-NurDhw3k4t4eDyiS&ms=au&mt=1444691797&mv=m&expire=1444713438&sparams=dur%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpcm2cms%2Cpl%2Cratebypass%2Crequiressl%2Csource%2Cupn%2Cexpire&lmt=1444337534035015&pcm2cms=yes src=null dest=C:\Users\Tom\AppData\Local\Temp\OnlineVideo-GLYzYf0k9yQ-4082064460226247482.mp4
Mon 10/12 19:17:25.648 [ReProcessHook@787d25] Download remoteSize=24880479
Mon 10/12 19:17:25.656 [FileDownload@10ce3b8] Detected MP4 ISO stream downloading...
Mon 10/12 19:17:25.708 [FileDownload@10ce3b8] ERROR during file download of:java.lang.ArrayIndexOutOfBoundsException
Mon 10/12 19:17:25.714 [FileDownload@10ce3b8] java.lang.ArrayIndexOutOfBoundsException
Mon 10/12 19:17:25.715 [FileDownload@10ce3b8] java.lang.System.arraycopy(Native Method)
Mon 10/12 19:17:25.724 [FileDownload@10ce3b8] sage.FileDownloader.processMP4Packet(FileDownloader.java:1346)
Mon 10/12 19:17:25.731 [FileDownload@10ce3b8] sage.FileDownloader.httpTaskRun(FileDownloader.java:718)
Mon 10/12 19:17:25.737 [FileDownload@10ce3b8] sage.FileDownloader.taskRun(FileDownloader.java:365)
Mon 10/12 19:17:25.743 [FileDownload@10ce3b8] sage.SystemTask.run(SystemTask.java:84)
Mon 10/12 19:17:25.749 [FileDownload@10ce3b8] java.lang.Thread.run(Unknown Source)
Mon 10/12 19:17:25.799 [FileDownload@10ce3b8] Download completed for files server=https://r7---sn-a8au-hp5l.googlevideo.com/videoplayback?initcwndbps=340000&dur=145.194&signature=C52F82616D6A86B657B1E05C9E0C98586DF564FB.0EE857D9382BA403D1D0EAEF4C96AB6D93F00E1C&sver=3&upn=LV6xWMMf1rM&key=yt6&ratebypass=yes&ipbits=0&itag=22&fexp=9406128%2C9408710%2C9409069%2C9414764%2C9415516%2C9416126%2C9417487%2C9417707%2C9418204%2C9418448%2C9418897%2C9419303%2C9420348%2C9420437%2C9421013%2C9421137%2C9421169%2C9422342%2C9422383&requiressl=yes&mime=video%2Fmp4&ip=24.48.134.228&mm=31&source=youtube&pl=21&mn=sn-a8au-hp5l&id=o-ACxVl0cvmBf8gVjqs4fR0qGWblv-NurDhw3k4t4eDyiS&ms=au&mt=1444691797&mv=m&expire=1444713438&sparams=dur%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpcm2cms%2Cpl%2Cratebypass%2Crequiressl%2Csource%2Cupn%2Cexpire&lmt=1444337534035015&pcm2cms=yes src=null dest=C:\Users\Tom\AppData\Local\Temp\OnlineVideo-GLYzYf0k9yQ-4082064460226247482.mp4 abort=false
Mon 10/12 19:17:27.655 [ReProcessHook@787d25] Cancelling current file download operation.
Mon 10/12 19:17:27.659 [ReProcessHook@787d25] Waiting for download thread to terminate...
Mon 10/12 19:17:27.662 [ReProcessHook@787d25] Download thread has terminated.

Current toolset requirements for building native code?

What is the current minimum toolset requirement for building native code? From the "VS2005 build environment" forum thread, my understanding is: JDK (README at the top of the tree says minimum 1.5 ), DirectX SDK, Windows SDK v6.1 and Visual Studio 2005. Can someone confirm or correct this? I ask because there are recent commits that seem to refer to system #includes that aren't satisfied by the environment described above. Example: "include <inttypes.h>". It might be helpful for us to be in sync on the toolsets & versions. I understand that the goal is to move to a newer version of VS (presumably VS2015 Community) in the near future. But what are people building native code with now?

Hotspot on initial setup

Finally found some time to try out the OSS version of sagetv, but I'm not having much luck with it. It's hotspotting consistently on a vanilla installation of the latest commit on gh. I'm running it on ubuntu 14.04 and using the tarball version after following the instructions on the sticky post on the forum. It's not %100 clear which version of Java to use - I tried Sun java 8, 7, and 6.

I get the error as soon as I try to set up external tuning for my hdpvr, so before installing any plugins or setting anything up. The hdpvr also isn't even lighting up blue when I select 'component' input in the sources menu (but it does when I cat /dev/video0 > /Dev/null)

You can see the errors at:
http://pastebin.com/MUVw9rFh

Add New Video Renderers - MadVR

It would be nice to try out new Renderers, particularly MadVR which is giving good results with Kodi in Windows. Currently we seem to just have the fixed list.

MadVR is here:
http://forum.doom9.org/showthread.php?t=146228

EVR works okay, but I tend to lose the last few seconds of imported videos, and MadVR has far more tweaking options. Obviously this isn't an urgent request... Thanks.

Monitor .srt files for new subtitles during live playback.

None of the free video decoders being used in SageTV appear to support closed captioning for H.264 content. The ability to append to the subtitles live would help make this less of an issue. I noticed that during live recordings, if a .srt file was created along side the recording, SageTV would not pick up any new subtitles written to the file. I tried skipping back and forward, but the new subtitles never appeared. They only appeared after I restarted playback.

Also related, but may be a separate issue: If the recording is split into multiple files I noticed that on playback at least in the placeshifter, the subtitles for the first file will be used for all of the files in the recording even if every file in the recording has it's own .srt file.

Exit to Home screen option not working

Android mini client 1.0-RC4 installed on Nvidia Shield TV running firmware 3.0.

The "Exit to Home Screen" box is checked but exiting SageTV returns to the server selection page instead.

Legacy Bloat

In the forum windows installer thread, Jeff did a great job of pulling some info from his memory on some of the binaries that are included in the v7 installer. Many of which seemed to be pretty old an obsolete, and I'd like to compile a list of things to be marked for removal from v9, so not only can the binaries NOT be included, but references to such can be removed from the source.

Off the top of my head, the items I feel can be removed would be:
Deinterlace.ax and all DI_*.dll's - These are for the DScaler deinterlacer, which is pretty redundant with all of these deinterlacing methods built in to any modern decoder. This would require not just removal of the binaries, but removal of the dscaler options in the STV, and likely code in the directshow library that builds the graphs.
dlcllib.dll & tvtvDLCL.dll - TVTV EPG related files - no longer used in v9, as TVTV was removed.
stv.ax & .dll* - The mainconcept (SageTV MPEG Decoder/Encoder/etc) codecs. No license for use with the open source product, so can't be included. Should probably bundle a different decoder - need to decide if ffmpeg or LAV should be included. ffmpeg might work as a 'better' option than ac3filter (old version currently included) as well.

MCE remote button not working

When I press the "Recorded TV", "Guide", "Live TV" and "i" buttons on the MCE remote, nothing happens. These buttons used to work, but now they do not work. When I press one of those buttons, the red light on the IR receiver blinks. The problem is not the MCE remote.

Scheduler rearrange logic could be more optimized

There's a case we don't handle in our Scheduler rearrange logic that would be better handled there than before we went to the exhaustive search. We don't try to shift an existing scheduled recording over to another tuner with an open slot in order to make room for a new one. We will swap the recording time if it has other airings...but that's different. I'm not 100% sure this affects systems that have all tuners with the same lineup...but I think it could. SageTV has always had this deficiency..this is nothing new. :)

No specific User Agent for SageTV

When downloading content (or anything) using sage.FileDownloader, no user_agent is specifically set, so it uses the default "Java/x.x.x_xx" user_agent. It seems to be more 'correct', it should be setting a user_agent that would be more like "SageTV/x.x.x". This should be able to be done by either:

  1. Adding it directly into FileDownloader, which would require some logic to build the string from the current build version. This is the quickest way to implement this. The downside is it would not allow a way to 'force' the user agent to something else, which might be required when trying to access some sources.
  2. Using the already implemented requestProps argument in FileDownloader to pass the user agent from the calling library (usually Global.StartFileDownload). This would then likely require adding an overloaded argument to the StartFileDownload function to allow the API call to set the User Agent, which if NOT set would default to "SageTV/x.x.x"

The immediate reason I am wanting this implemented is so that PlayOn can recognize SageTV, so SageTV can be white-listed as an HD capable player, which is the only way PlayOn will stream content in HD. Option 2 would allow sage to emulate an already white-listed player to get PlayOn in HD immediately. Option 1 would require PlayOn to have SageTV added to it's white-list before it would work in HD.

HbbTV Support

Hello Everyone!
HbbTV support is something I'd really like to see in SageTV.
I'm neither sure how much effort it would be to implement, whether this is even a wanted feature by any one of you nor will I be able to work on this any time soon.
So please feel free to close this, if it doesn't fit in with SageTV's plans for the future.
Otherwise leave it open for other motivated devs to see there's at least one guy who'd be happy to have it. Thanks for going open source btw :)

Cheers,
Chris

Want to be able to load a Network Encoder as a runnable class

Currently Sage creates threads for the runnable classes at almost the way end of the server startup. This does not allow for a network encoder to be configured as a runnable class and properly discovered by Sage and added as an active capture device. I had a few ideas on how this could possibly be accomplished, and I wanted some input before I tried submitting a code change that breaks something. Here are the three ideas I had.

  1. Move the thread creation of the runnable classes to before the creation of the media server. I am not sure if changing the timing of this would have a negative impact anywhere else.
  2. Create a new property for specifically loading network encoders. For example: load_at_startup_encoder_classes. Only these entries would be loaded prior to the media server. We could even make a specific class that these plugins would need to extend/implement to be loaded with this property if need be.
  3. Somehow call the discovery of the network encoders again after the runnable classes are loaded.

Please let me know which direction makes the most sense.

Josh (jvl711)

Fire a System Message when the bitrate for a recording is too low or too many segments

One of the few problems I still have on occasion with SageTV is when one of my STBs goes off due to a device upgrade by Verizon; or one of my HDPVRs just starts having issues. This manifests itself in 1 of 2 ways.

  1. The file size of the recording is much lower (over 50% smaller) than normal because it was just a black screen the whole time.
  2. There's LOTS of segments created for the recording.

I should add code in the Seeker which detects when either of these 2 cases occurs and then generates a unique system message. I already suppress the one in my own system for when recordings have breaks in them (since this happens too frequently with the HDPVR); which is why I want a new one for this.

I'd make 2 separate property settings for this since not everyone would want this type of detection. There'd also be a setting for the # of segments to cause this to be hit. I'd also have a property for either a specified rate to fire this at; or just have it go through the recordings for that tuner and then calculate an average rate correlated with resolution and then have a configurable threshold for when this fires based on that average.

Bug: Sage Client: Skip fwd/bkwd not working correctly / progress bar alignment problems

Running the sage placeshifter on OSX (legacy v6 client or current client using the legacy mplayer) skipping forward or backwards has very strange results. It jumps by seeming random amounts (more than 30 seconds, more than 5 min), often jumping to the same place repeatedly. I attempted to also use the web remote thinking that maybe it was a client issue. This also did not work successfully, causing jumping issues. It is repeatable and when I remember, I will dig in and grab some logs related to this event.

UI Crash: DX9Renderer NATIVE WARNING (non-FAILURE) line 788 hr=0x8007007e

Upon startup of SageLauncher (SageTv.exe), the application dies on some systems. On a failing system, the startup screen is displayed for several seconds and then suddenly closes without warning. With debug_logging=true, the last item logged in sagetv_0.txt is: "[FinalRender-SAGETV_PROCESS_LOCAL_UI@1cbca2f] DX9Renderer NATIVE WARNING (non-FAILURE) line 788 hr=0x8007007e".
This msg is produced from SageTVDX97D.cpp, line 788
Native code binaries are generated by vs2015. The failure was observed on a system running Win7-x64.
Observations:

  1. A different box running the exact same OS and the exact same v9 binaries shows no issues; sage runs fine. (Video cards are different between the 2 systems).
  2. On the failing system, the problem no longer occurs after replacing SageTVDX97D.dll (v9) with SageTVDX97D.dll from v71.9.3.
  3. On the failing system, the problem still occurs after replacing the .dll with one built under vs2005.
  4. The sizes of SageTVDX97D.dll are significantly different between v7.1.9 (704,512 bytes) and v9 built by vs2015 is 339,456 bytes. v9 built from vs2005 is 135,168 bytes.
  5. Using dumpbin to compare SageTVDX97D.dll v7 vs. v9 shows dramatically different sizes for .data, .rdata and .text segments.
  6. Both v7 & v9 have the exact same 27 exported functions.
  7. The imported functions are different between v7 & v9. Only v7 imports GDI32.dll. Only v9 imports d3dx9_43.dll (as built by both vs2005 and vs2015).
  8. Since the failure occurs using the .dll built from both vs2005 and vs2015, it seems like the problem was present prior to the migration to vs2015.

Can someone take a look at this?

Regular expression Keywords fail

This works on SageTV7 but does not work on SageTV9. I am finding out the Sage9 is more limited in the way you can define favorites than Sage7. They all worked fine in Sagetv7. I was wondering why some shows were not recording. It appears that SageTV9 does not handle regular expressions as good as SageTV7.

examples do not work.
keyword christmas "MV\d+"

Title Criminal Minds
keyword "EP\d+"
also
Category Docudrama
keyword "MV\d+"

Houston channels limited guide data

I only have a few hours of guide data for Houston channels KRIV 26.1 and KTRK 13.1. I am using Zap2it guide data. Are these channels not included in the Zap2it guide data?

Update Transcoder To Support Constant Quality

The transcoder should be updated to support constant quality modes. I can see how Placeshifter remote streaming needs a constant bitrate but for other transcoding CQ modes would be more effective.

HDHomeRun Scan Erroneous Channels

Whether scanning OTA (ATSC) or Cable (QAM) it seems to want to include some apparently erroneous channels that are just numbered. They show up in the web interface as "-", "- 2", "- 3", etc. Unsure how these are being produced. Trying to preview one shows a signal strength but no video. the associated mpgbuf for the tuner shows a zero size. This compared to a valid channel that shows a preview video and the associated mpgbuf file size is greater than zero.

DShowPlayer improvements

Currently, DShowPlayer has a lot of hard-coded decisions in it, that may not necessarily be required with newer filters out in the wild (and potentially being rolled into the sagetv product). Things like VideoRenderer being limited to specific choices, some media formats being forced to use specific filters in code instead of using properties, etc. Basically, with the newer decoders and renderers available, which have much greater capability, it might make sense to open up these restrictions and allow any option to be selected for each container/format/renderer.

No audio playback of MPEG2 files

Issue was reported here:
http://forums.sagetv.com/forums/showthread.php?p=579435&postcount=11

SageTV details the file as:
MPEG2-PS[MPEG2-Video/3.8Mbps 4:3 480i @ 29.97fps, MP2/384Kbps@48kHz Stereo

The problem follows certain vintages of MpegDeMux.ax. The regression was introduced with the commit for ae41796

The problem has been traced to:
native\ax\Native2.0\NativeCore\AVFormat\MpegAudioFormat.c

Making the following change resolves the reported problem:

int ReadMpegAudioHeader( MPEG_AUDIO *pMpegAudio, const uint8_t* pStart, int Size )
{
    int Layer,i,MPGVersion, CRC_protected, BiteRateIndex, SampleRateIndex;
-   int8_t LayerCode;
+   uint8_t LayerCode;
-   const int8_t *pData;
+   const uint8_t *pData;
    uint32_t Bitrate;

I'm unsure if this change will introduce other side effects, since it's unclear why Qian changed these two locals from unsigned to signed.

Slow Interface on Wake from Sleep

When my HTPC wakes up from sleep, the SageTV interface is slow until about 10 seconds later. Now that SageTV is open source, is there anyway to speed up this delay? Would it be possible to add a black loading screen with progress bar? Can this be done with SageTV studio?

Video DVD/BD Sort Error

At the suggestion of jusjoken I am opening an issue regarding a v9 DVD/BD sort error. When using the windows installer release candidate to install v9 over v7.1.9 an anomaly occurred in Videos. Normally my DVD and BD rips are kept sorted alphabetically. After installing v9 the rips are scrambled generally into two groups with each group sorted mostly alphabetically. There are also 3 or 4 files that are not included in the two larger groups. This scrambling of titles makes access to the DVD and BD rips difficult and reduces WAF. I tried to fix the sort with BMT with no luck. I tried using the v9 repair command with no luck. I tried deleting my Sage installation and installing v7.1.9 from scratch followed by installation of v9 using the windows installer with no luck. Finally I installed v7.1.9 followed by manual installation of v9 using the exe files and jars. Again no luck. In all cases the list of DVDs and BDs in v7.1.9 is listed correctly and in all installations of v9 the sort is scrambled. Also in all cases my OS was Windows 10 Pro. I have a little over 100 DVD and BD rips.

Fix VS2005 build environment

Ever since the development tree was placed into GitHub, native code (i.e, non-Java) couldn't be built using a "standard" installation of VS2005, DirectX SDK & SDK6.1. Once we're first able to fully build using VS2005, it will be much easier to take the next step of replacing VS2005 with VS2015.

Bug: Sage Client: Mplayer updates to work on OSX

Mplayer on OSX does not display correctly with the new sage client.

I downloaded the new sage client. I replaced the version of Mplayer with the old mplayer from v6. While all the video plays, it plays in a new window. The error displayed is...


Error loading QuartzGFXCMD class, reverting to default rendering:java.lang.ClassNotFoundException: sage.miniclient.QuartzGFXCMD
java.lang.ClassNotFoundException: sage.miniclient.QuartzGFXCMD
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:171)
at sage.miniclient.MiniClientConnection.GFXThread(MiniClientConnection.java:609)
at sage.miniclient.MiniClientConnection.access$200(MiniClientConnection.java:18)
at sage.miniclient.MiniClientConnection$4.run(MiniClientConnection.java:378)


Exception getting video server params: java.lang.NoSuchMethodException: sage.miniclient.GFXCMD2.getServerVideoOutParams()

MPlayer was launched successfully
...
Ignoring resize command because it exceeds video dimensions rect=java.awt.Rectangle[x=0,y=0,width=720,height=480] videoDim=java.awt.Dimension[width=0,height=0]

Windows Placeshifter Client Black Screen After Locking Or RDP Reconnect

This is an issue that has kind of plagued me over the years. I'm sure it doesn't affect everyone. However, there is an issue with the Placeshifter client, whether connecting locally or remotely where the window displays as a black box when the system is locked and then unlocked. This also happens when an RDP connection to the machine has disconnected and is subsequently reconnected.

This actually affects me quite a bit as I'm not always able to use a remote connection so I'm forced to RDP to one of my machines and remotely use the Placeshifter client to do some sort of administrative task. Or for just testing new features in v9 connected to one of my test servers.

The common thread here seems to be that the Placeshifter interface renderer seems lose its connection to the window when the display changes state (e.g. local to remote display, remote reconnection, or when the system is locked and Windows replaces the desktop with the login screen).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.