The most recent patches to dtvrecorder.cpp contain John Poets ringbuffer that is necessary only for the PCHDTV and serves no purpose for linux-dvb supported cards.. The ringbuffer also hangs the backend with my dvb-patch code.. This has been reported by more than 1 person.. Can this be backed out of dtvrecorder and placed where it belongs in hdtvrecorder?
The concept behind dtvrecorder was to combine all common code since both the PCHDTV and linux-dvb cards process MpegTransport stream and had many things in common.. GopMarking is one of the major parts I can think of right now.. Double buffering is not.. Let me give some overview of how the codebases should be merged which I do not see happening right now, and is resulting in conflicts like this.. The concept behind my dvb patchset is to create a database heiarachy that is representative of ANY digital television / radio service.. The database used by the PCHDTV is not anything like this, and has resulted in code like the DD Virtual Channel Number patches that I don't feel are a proper way to go about things.. Recording of multiple channels running on the same mux is quite difficult down the road with a database that is built around analog tv.. This also complicates getting guide data over the air which for ATSC will be mandated in 6 months when the broadcast flag kicks in since that is where it is present at.. This DD patch also renumbers all of the channel numbers for the Air2PC card if you attempt to use it with DD currently which is not necessary either.. I (as well as many others; Julian Scheel, Jesper Sorensen, and John Pullan specificly) have spent a good deal of time trying to make Myth's digital television support be as powerful as a top of the line PVR but also support both ATSC and DVB.. Both DVB and ATSC provide service tables that should be used to drive your setup configuration not something downloaded off the internet.. I don't want to create enemies with this posting but I want to point out what I feel needs to be done to integrate these 2 code bases and make them work properly in harmony.. First and foremost the drivers that support the PCHDTV and the Linux-DVB cards are completley differnet and have many different requirements.. The Extra Ringbuffer for the pchdtv is useless for linux-dvb cards since linux-dvb provides its own buffering.. So this ringbuffer needs to be places exclusivly in hdtvrecorder.cpp not in the dtvrecorder.cpp base.. Once you go beyond saving the TS to the ringbuffer the rest of the code is the same.. Secondly the PCHDTV card ought to use the database structure that I have setup for the linux-dvb cards which works properly with ATSC as well as DVB in harmony.. I also have a service table updating class that constantly monitors all of the SI (DVB) or PSIP (ATSC) tables and keeps all the tuning information up to date.. This also helps reduce the number of "bad channel hangs" that are common to both the DVB codebase and HDTV codebase.. I feel right now the two groups (PCHDTV and DVB) are going in seperate directions.. We need to be more organized if we are going to integrate this code properly.. I know it is more difficult to deal with the dvb-patch since it is not in myth-cvs now but if any of you PCHDTV developers would like read access to the cvs that houses the dvb-patch please let me know and I will be glad to provide this to you so we can move twoard integration.. Taylor _______________________________________________ mythtv-dev mailing list [email protected] http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
