Change how virtual offsets pointing to the end of a BGZF block are adjusted to point to the start of the next block. The previous method was not reliable when multi-threading as the block could be written out, and offsets included in the index, before the adjustment could be applied. Fixes samtools/samtools#1861
Switch from hts_idx_push() to bgzf_idx_push() for on-the-fly indexing of BCF and VCF.bgz files. The latter function is needed to record the correct offsets when using multi-threaded BGZF compression. Fixes samtools/bcftools#1985
Only allow indexing of BGZF-compressed files. It's necessary to enforce this as on-the-fly indexing assumes that the file pointer is in htsFile::fp.bgzf, but uncompressed VCF uses htsFile::fp.hfile.
htsFile::fp.bgzf
, but uncompressed VCF useshtsFile::fp.hfile
.