Merge branch 'work' into cherry-picks
予約枠を微調整
「予約枠を微調整」で予約枠を塗りつぶさないときのプロパティを元に戻す
Epgtimerの未使用22ファイルを撤去

未使用だった古い重複ファイルを削除した
2ch_EDCB/37/101 の21ファイル+抜けてる1ファイル
EpgDBManager.hを2013でビルドできるようにする

0fb148ac59cb9ff040882bac83c8343f541b4679 でunique_ptrを使用するようになったため
EDCBはstdafxをほとんど活用しない方針(Util.hで代用する感じ)のようなので、とりあえずこの位置に追記した
番組内容も検索対象にするときの文字列の連結方法がまずいのを修正

検索対象をセパレータなしに繋げるので、番組名「報道ジャパン」番組内容「工場労働者スト～」とかだと「パン工場」にマッチしてしまう
EPG取得チューナー数指定の挙動が期待に反するのを修正

関連コミットは d7761e40c07130487c7948ff8147736993a133ea , 2f42f5953919d6121d86223a5f7f99a9ec526b20
関連する話題は 2ch_EDCB/37/750 あたり
あるBonDriverについて{0<EPG取得チューナ数<全チューナ数}としたとき「実行抑止条件」の扱いが未定義なので、従来仕様と矛盾しないよう、
抑止条件をクリアしたチューナ数がEPG取得チューナ数を下回るようなBonDriverが1つでもあれば、実行抑止するものとした
MULTI2復号なしかつ限定受信方式記述子にPID=0x1fffを含むときパディングストリームも出力されてしまうのを修正

(コミッタ注釈)
ソースは https://twitter.com/kzmogi/status/481411683143806976
関連する話題は 2ch_EDCB/37/911
番組名に改行が含まれる場合に対処

関連する話題は 2ch_EDCB/37/980 あたり
EPG自動予約で意図的に改行をマッチさせたときに正しく予約できないのを修正
CTSBuffUtilの処理対象をデフォルトでPSIのみに限定し、PESの処理についてオーバランしうる部分を修正

PESを扱うのはWrite_AVIVOだけみたいなので
規格通りのパケットならstuffingされて問題ないはずの部分
EpgDataCap3.dllの排他制御について設計ミスを修正

(コミッタ注釈)
ソースは https://twitter.com/kzmogi/status/487203753456463872
EpgDataCap3.dll以外の排他制御についても設計ミスを修正

52898aef70639deed250c61c5aafdf7e57e75343 の修正範囲を拡大した感じのもの
取得に使えるチューナが1つもないときEpgTimerSrv.exeが落ちるのを修正

2ch_EDCB/38/140 の修正
iとjの呪い(慎重さが足りない)
CreatePMTPacket.cppの境界チェックが甘い部分を修正

ここもCRCを通過済みなのでさほど重要な修正ではない
サービス指定録画時にPATが増える可能性を修正

PATが複数パケットにまたがるケースはまず無いが一応
COneServiceUtilのぴったり(?)録画の状態遷移がおかしいのを修正
CWriteTSFileのスレッド安全性を破棄

同期はCTSOutで確保されているので元々不要だが、
COneServiceUtilで選択的に使われるCSendUDPがスレッド安全でない事との辻褄が合わないため
TSデータのバッファリングについて排他制御の修正と「バッファリング最大値」の仕様変更

ロック確保待ちが500msecであまり十分な長さでないのと、確保に失敗したときに必ずメモリリークするので修正
また、従来仕様のTsBuffMaxCountとWriteBuffMaxCount(Readme_EpgDataCap_Bon.txt参照)は
BonDriverから受け取ったデータの「個数」であり、これではメモリ消費量の上限を事実上設定できないため
厳密に48128バイトを「1個」とするように仕様変更
CWriteTSFileの一部変数が受信スレッドと同期していないのを修正