|
SageTV Github Development Discussion related to SageTV Open Source Development. Use this forum for development topics about the Open Source versions of SageTV, hosted on Github. |
|
Thread Tools | Search this Thread | Display Modes |
#41
|
|||
|
|||
Hmm. Maybe there's another bug behind the one just fixed. If turning fast switch off works you at least have a solution but if you're willing to keep debugging, so am I. The larger SageTV community thanks you.
|
#42
|
||||
|
||||
Never stopped me before. Since I've used SageTV I've come across many a strange bug so this isn't new. It's just been a very long time since I've had any issues and I've gotten used to it just working without any interaction from me.
__________________
SageTV Server: unRAID Docker v9, S2600CPJ, Norco 24 hot swap bay case, 2x Xeon 2670, 64 GB DDR3, 3x Colossus for DirecTV, HDHR for OTA Living room: nVidia Shield TV, Sage Mini Client, 65" Panasonic VT60 Bedroom: Xiomi Mi Box, Sage Mini Client, 42" Panasonic PZ800u Theater: nVidia Shield TV, mini client, Plex for movies, 120" screen. Mitsubishi HC4000. Denon X4300H. 7.4.4 speaker setup. |
#43
|
||||
|
||||
KarlyFStein,
Are you sure you downloaded the latest code from GitHub before you built the AX file? And if you did...can you build the Debug version of it and post that one instead? Then he can register that one, go to HKLM\Software\Microsoft\DirectShow\Debug\MPEG2Dump.ax (or something like that for the last part) and set the LogToFile value to be a log file. There may be other values to set there....I don't remember...it's been a long time...but then the filter can do its own logging and we will be able to find more specific details. And of course I'd like to see the log files from using the newly built filter...because maybe there is also another problem and the issue with the DirectShow filter isn't a problem anymore.
__________________
Jeffrey Kardatzke Founder of SageTV |
#44
|
|||
|
|||
Quote:
Code:
// // CloseFile // Closes any dump file we have opened // HRESULT CMPEG2Dump::CloseFile( BOOL bAsync ) { CAutoLock lock(&m_fileLock); if (m_bRemoteFile) { CloseConnection(); m_hFile = INVALID_HANDLE_VALUE; return NOERROR; } if (m_hFile == INVALID_HANDLE_VALUE) { return NOERROR; } if ( !bAsync ) CloseHandle(m_hFile); else AsyncCloseFile( ); m_hFile = INVALID_HANDLE_VALUE; return NOERROR; } // Open
__________________
Home Network: https://karylstein.com/technology.html |
#45
|
|||
|
|||
Quote:
It looks like maybe you can enable logging on the release version by creating a file called "MPEG2Dump_LOG.ENABLE" or does the registry key you mentioned still need to be there? Code:
static void _flog_check() { FILE* fp = fopen( "MPEG2Dump_LOG.ENABLE", "r" ); if ( fp != NULL ) { flog_enabled = true; fclose( fp ); } } |
#46
|
||||
|
||||
Quote:
__________________
SageTV Server: unRAID Docker v9, S2600CPJ, Norco 24 hot swap bay case, 2x Xeon 2670, 64 GB DDR3, 3x Colossus for DirecTV, HDHR for OTA Living room: nVidia Shield TV, Sage Mini Client, 65" Panasonic VT60 Bedroom: Xiomi Mi Box, Sage Mini Client, 42" Panasonic PZ800u Theater: nVidia Shield TV, mini client, Plex for movies, 120" screen. Mitsubishi HC4000. Denon X4300H. 7.4.4 speaker setup. |
#47
|
||||
|
||||
See logs. Same issue.
__________________
SageTV Server: unRAID Docker v9, S2600CPJ, Norco 24 hot swap bay case, 2x Xeon 2670, 64 GB DDR3, 3x Colossus for DirecTV, HDHR for OTA Living room: nVidia Shield TV, Sage Mini Client, 65" Panasonic VT60 Bedroom: Xiomi Mi Box, Sage Mini Client, 42" Panasonic PZ800u Theater: nVidia Shield TV, mini client, Plex for movies, 120" screen. Mitsubishi HC4000. Denon X4300H. 7.4.4 speaker setup. |
#48
|
||||
|
||||
The MPEG2Dump_LOG.ENABLE file only enables a certain type of logging...but that may actually be useful, so it's worth a shot. There's more extensive logging that's done with the DirectShow debug facility.
And there definitely is a change in the behavior now. When it switches to the new file...it is reporting an updated, smaller file size. However, that small size doesn't grow at all for whatever reason. I'll take another look at the code again and see what I find (I didn't dig beyond that first issue before because it was so clearly causing a major problem)...but if you can get that other log file as well that could likely help out even more.
__________________
Jeffrey Kardatzke Founder of SageTV |
#49
|
||||
|
||||
Quote:
__________________
SageTV Server: unRAID Docker v9, S2600CPJ, Norco 24 hot swap bay case, 2x Xeon 2670, 64 GB DDR3, 3x Colossus for DirecTV, HDHR for OTA Living room: nVidia Shield TV, Sage Mini Client, 65" Panasonic VT60 Bedroom: Xiomi Mi Box, Sage Mini Client, 42" Panasonic PZ800u Theater: nVidia Shield TV, mini client, Plex for movies, 120" screen. Mitsubishi HC4000. Denon X4300H. 7.4.4 speaker setup. |
#50
|
|||
|
|||
I'm afraid that I'm no VS expert. In fact I've only used it a couple times for SageTV . What I did is select Debug instead of Release in the pull down and rebuilt the MPEG file, (which spit out two files: the .ax and a .pdb). If there's something else that I should have done let me know.
__________________
Home Network: https://karylstein.com/technology.html |
#51
|
||||
|
||||
Quote:
__________________
SageTV Server: unRAID Docker v9, S2600CPJ, Norco 24 hot swap bay case, 2x Xeon 2670, 64 GB DDR3, 3x Colossus for DirecTV, HDHR for OTA Living room: nVidia Shield TV, Sage Mini Client, 65" Panasonic VT60 Bedroom: Xiomi Mi Box, Sage Mini Client, 42" Panasonic PZ800u Theater: nVidia Shield TV, mini client, Plex for movies, 120" screen. Mitsubishi HC4000. Denon X4300H. 7.4.4 speaker setup. |
#52
|
|||
|
|||
Quote:
Likely one or more those those settings was changed in the Release version but not in Debug. Then again, there may be a missing dependency like runtime Debug libraries that aren't included in the installer. |
#53
|
|||
|
|||
Quote:
Then the next GET_FILE_SIZE with the new file returns the size of the old file because the switchover hasn't yet happened inside the 5 second m_switchNotify wait for the transition point in MPEG2Dump.cpp. Then, about 1 second later GET_FILE_SIZE for the new file returns a much smaller, non-zero number which I suspect is the size of the write after the transition that outputs the remaining buffer contents in MPEG2Dump.cpp: Code:
return m_pDump->Write( pbData + tranny, currLen - tranny ); The fact that the old file size is no longer returned means the OpenFile function is now completing (which it didn't with the remotefile=false bug) and setting m_shareInfo.totalWrite back to 0. The only places that subsequently increment that file size variable are in the Write() and Seek() methods, one of which I believe is being called above right after the switchover OpenFile. After the switch, subsequent writes come through the Receive() function eventually ending up at the bottom at this statement: Code:
return m_pDump->Write( pbData, currLen ); Is it somehow stuck repeatedly calling Seek() at setting the point/filesize to the same place? Actually, It doesn't look like Seek() is ever used in this mode. Last edited by wnjj; 03-08-2017 at 03:54 PM. |
#54
|
|||
|
|||
Hey KarylFStein,
If you want to compile another option, I've attached a modified MPEG2Dump.cpp where I turned all of the dbglog (resistry-based logging) calls into the local ones and forced it on. This way everything will log into a local "MPEG2Dump.LOG" file. You can compile it in Release mode and it should just drop in again. Note: I have not compiled it so hopefully didn't introduce any syntax errors. Panteragstk, This should not be used log term since it may produce a ton of data and there's no limit on the log file. Just run it long enough to capture another one of these failures. It should operate just like Jeff's fixed one, but with logging. Back up the previous one first. |
#55
|
||||
|
||||
Quote:
__________________
SageTV Server: unRAID Docker v9, S2600CPJ, Norco 24 hot swap bay case, 2x Xeon 2670, 64 GB DDR3, 3x Colossus for DirecTV, HDHR for OTA Living room: nVidia Shield TV, Sage Mini Client, 65" Panasonic VT60 Bedroom: Xiomi Mi Box, Sage Mini Client, 42" Panasonic PZ800u Theater: nVidia Shield TV, mini client, Plex for movies, 120" screen. Mitsubishi HC4000. Denon X4300H. 7.4.4 speaker setup. |
#56
|
|||
|
|||
Quote:
__________________
Home Network: https://karylstein.com/technology.html |
#57
|
|||
|
|||
Quote:
I have a compiler but haven't compiled the project before. Plus I'm in an airport right now. Thanks for the help. |
#58
|
||||
|
||||
Got the mpeg dump log. Let me know if anything else is needed.
__________________
SageTV Server: unRAID Docker v9, S2600CPJ, Norco 24 hot swap bay case, 2x Xeon 2670, 64 GB DDR3, 3x Colossus for DirecTV, HDHR for OTA Living room: nVidia Shield TV, Sage Mini Client, 65" Panasonic VT60 Bedroom: Xiomi Mi Box, Sage Mini Client, 42" Panasonic PZ800u Theater: nVidia Shield TV, mini client, Plex for movies, 120" screen. Mitsubishi HC4000. Denon X4300H. 7.4.4 speaker setup. |
#59
|
||||
|
||||
OK, I think I found the next problem. Hopefully this should do it. Before I go committing this...can you build this one Karly and then post the new .ax file for panteragtsk to try?
Thanks for adding that extra logging...it gave me the info I needed to figure out the problem. The new issue was that it was using the wrong filename for the remote upload. It was setting the nextFilename BEFORE it was stripping out the stv:// stuff from the URL when it was doing a switch so it was sending an stv:// URL to the MediaServer to open rather than a normal file path.
__________________
Jeffrey Kardatzke Founder of SageTV |
#60
|
|||
|
|||
Quote:
One small change on line 846: Code:
- if (m_pFilename) { + if (m_pFileName) {
__________________
Home Network: https://karylstein.com/technology.html |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
SageTV as a network encoder / recording on network encoder works, not from server | perfessor101 | SageTV Software | 0 | 06-21-2014 05:59 AM |
Network Encoder Problem | nox71 | SageTV Beta Test Software | 0 | 06-22-2010 07:23 PM |
Weird Network Encoder Problem | interloper | SageTV Beta Test Software | 0 | 04-09-2009 06:50 AM |
HD-PVR as network encoder problem | phelme | Hardware Support | 9 | 07-28-2008 12:38 AM |
Problem setting up network encoder | Alfiegerner | SageTV Software | 1 | 12-29-2006 11:30 PM |