]> git.ipfire.org Git - thirdparty/tvheadend.git/log
thirdparty/tvheadend.git
8 years agotranscode: fix the stream translation
Jaroslav Kysela [Wed, 6 Sep 2017 07:42:10 +0000 (09:42 +0200)] 
transcode: fix the stream translation

8 years agotranscode: vp8 - add more 'good' settings for webtv-vp8 codec profile
Jaroslav Kysela [Wed, 6 Sep 2017 07:41:04 +0000 (09:41 +0200)] 
transcode: vp8 - add more 'good' settings for webtv-vp8 codec profile

8 years agoconfigure: only enable nvenc if asked, not by default, fixes #4572
Mark Clarkstone [Tue, 5 Sep 2017 16:16:06 +0000 (17:16 +0100)] 
configure: only enable nvenc if asked, not by default, fixes #4572

8 years agotranscode: try to tidy typedef/struct
Jaroslav Kysela [Mon, 4 Sep 2017 15:14:37 +0000 (17:14 +0200)] 
transcode: try to tidy typedef/struct

8 years agotranscode: added h264_nvenc and hevc_nvenc codecs (untested)
Jaroslav Kysela [Mon, 4 Sep 2017 14:49:43 +0000 (16:49 +0200)] 
transcode: added h264_nvenc and hevc_nvenc codecs (untested)

8 years agotranscoder: vaapi - add support for vp8 encoder (tested) and vp9 decoder (untested)
Jaroslav Kysela [Sun, 3 Sep 2017 18:03:20 +0000 (20:03 +0200)] 
transcoder: vaapi - add support for vp8 encoder (tested) and vp9 decoder (untested)

8 years agotranscode: vaapi - remove depedency on libdrm
Jaroslav Kysela [Sun, 3 Sep 2017 17:27:13 +0000 (19:27 +0200)] 
transcode: vaapi - remove depedency on libdrm

8 years agoDVR: Record segmented programmes identified by EIT.
E.Smith [Sat, 19 Aug 2017 09:26:44 +0000 (10:26 +0100)] 
DVR: Record segmented programmes identified by EIT.

A broadcaster can split a programme in to multiple segments. These
are identified by the segments having a CRID containing an IMI
(a hash character followed by an ID). Segments have identical
values for this CRID and IMI and the segments start within three
hours of the end of the previous segment.

These rules are documented in this spec in section 7.1.7:
http://www.freeviewnz.tv/media/1055/freeview_dtt_transmission_rules_2_1.pdf
This document is based on the UK transmission specification.

For example, a movie may be broadcast as:
  21:00--22:00 movie segment 1
  22:00--22:05 five minute news
  22:05--23:30 movie segment 2

The xmltv guides typically merges this segments in to one
programme such as:
  21:00--23:30 movie (including news)

In theory, a programme can be split in to numerous segments.
In practice I have only seen a programme split in to two
segments as shown above.

To simplify recording these programmes, we identify segmented
programmes and extend the stop time. So, in the above case,
if the user records the 9pm showing then we will automatically
extend the stop time to be 23:30 instead of 22:00.

This patch explicitly disables "epg running state" for stopping
the recording. This is because the recording is tied to the first
showing and we don't want the recording to stop at 22:00 in the
above example.

We cache the calculated stop time to avoid any overheads, but
explicitly recalculate it at the start of the programme. This ensures
we detect any recent changes.

No modification is done of the actual EPG data to attempt to
merge the programme segments.

The consequence of this is that the EPG will only show a "recording"
marker against the first segment of the programme and not against
the second segment, which is unfortunate, however it is consistent
with recordings which have an extra stop time. The upcoming
recordings tab correctly shows the end time.

The duration of the finished recording is currently incorrectly
reported due to #3706. So the movie above would be reported as
60 minutes instead of 2h30.

Although the CRID processing is believed to be a global standard,
if other countries do not follow the UK/NZ specification then
the dvr_entry_get_segment_stop_extra could be updated to check a
(bitmask) config variable to enable/disable specific CRID processing.

I believe the overhead of the strcmp for the CRID check is minimal,
even on low-spec machines. If necessary we could cache to indicate
the CRID check has failed.

Issue: #1303

8 years agoparsers: allow higher PTS/PCR drift, fixes #4507
Jaroslav Kysela [Sun, 3 Sep 2017 13:38:14 +0000 (15:38 +0200)] 
parsers: allow higher PTS/PCR drift, fixes #4507

8 years agoprofile: fix the transcoded stream sharing
Jaroslav Kysela [Sun, 3 Sep 2017 12:48:56 +0000 (14:48 +0200)] 
profile: fix the transcoded stream sharing

8 years agotranscode: don't print '==> Passthrough', the copy profile name is printed, too
Jaroslav Kysela [Sun, 3 Sep 2017 12:01:29 +0000 (14:01 +0200)] 
transcode: don't print '==> Passthrough', the copy profile name is printed, too

8 years agolibav: try to fix the log trouble with NULL logctx
Jaroslav Kysela [Sun, 3 Sep 2017 08:07:50 +0000 (10:07 +0200)] 
libav: try to fix the log trouble with NULL logctx

8 years agolibav: vaapi - fix compilation error for older version of libva
Jaroslav Kysela [Sun, 3 Sep 2017 07:43:56 +0000 (09:43 +0200)] 
libav: vaapi - fix compilation error for older version of libva

8 years agotranscode: fix memory leaks
Jaroslav Kysela [Sat, 2 Sep 2017 19:57:41 +0000 (21:57 +0200)] 
transcode: fix memory leaks

8 years agoDo a 'git status' in Autobuild.sh to see why it's dirty
Andreas Smas [Sat, 2 Sep 2017 19:38:52 +0000 (12:38 -0700)] 
Do a 'git status' in Autobuild.sh to see why it's dirty

8 years agoprop: introduce PO_PHIDDEN for transcoding code, PO_HIDDEN is mainly used as a hint...
Jaroslav Kysela [Sat, 2 Sep 2017 16:01:15 +0000 (18:01 +0200)] 
prop: introduce PO_PHIDDEN for transcoding code, PO_HIDDEN is mainly used as a hint for grids

8 years agolibva: vaapi - redirect the info/error callbacks to tvh's log
Jaroslav Kysela [Sat, 2 Sep 2017 15:51:00 +0000 (17:51 +0200)] 
libva: vaapi - redirect the info/error callbacks to tvh's log

8 years agolibav: log - rework filters and print the class_name
Jaroslav Kysela [Sat, 2 Sep 2017 15:39:51 +0000 (17:39 +0200)] 
libav: log - rework filters and print the class_name

8 years agoiptv libav input: fix the base_time deprecated warnings from ffmpeg
Jaroslav Kysela [Sat, 2 Sep 2017 15:39:32 +0000 (17:39 +0200)] 
iptv libav input: fix the base_time deprecated warnings from ffmpeg

8 years agotranscode: don't use deprecated hw_context member of AVCodecContext
Jaroslav Kysela [Sat, 2 Sep 2017 15:06:47 +0000 (17:06 +0200)] 
transcode: don't use deprecated hw_context member of AVCodecContext

8 years agotranscode: fix compilation error (hwaccels) in video.c
Jaroslav Kysela [Sat, 2 Sep 2017 14:34:00 +0000 (16:34 +0200)] 
transcode: fix compilation error (hwaccels) in video.c

8 years agotranscode: fix wrong usage of 'static char'
Jaroslav Kysela [Sat, 2 Sep 2017 10:44:28 +0000 (12:44 +0200)] 
transcode: fix wrong usage of 'static char'

8 years agotranscode: vaapi - use vaapi deinterlace instead yadif
Jaroslav Kysela [Sat, 2 Sep 2017 10:42:08 +0000 (12:42 +0200)] 
transcode: vaapi - use vaapi deinterlace instead yadif

8 years agotranscode: another audio config cleanups to avoid NULL dereferences
Jaroslav Kysela [Sat, 2 Sep 2017 10:05:06 +0000 (12:05 +0200)] 
transcode: another audio config cleanups to avoid NULL dereferences

8 years agotranscode/configure: add check for libdrm/drm.h
Jaroslav Kysela [Fri, 1 Sep 2017 20:18:26 +0000 (22:18 +0200)] 
transcode/configure: add check for libdrm/drm.h

8 years agotranscoding: allow to select vaapi device, fix pix_fmt handling?
Jaroslav Kysela [Fri, 1 Sep 2017 17:23:46 +0000 (19:23 +0200)] 
transcoding: allow to select vaapi device, fix pix_fmt handling?

8 years agoMakefile.ffmpeg: remove wrong muxers
Jaroslav Kysela [Fri, 1 Sep 2017 12:32:37 +0000 (14:32 +0200)] 
Makefile.ffmpeg: remove wrong muxers

8 years agotranscoder: fix the wrong audio codec profile structure access, fixes #4565
Jaroslav Kysela [Fri, 1 Sep 2017 12:31:24 +0000 (14:31 +0200)] 
transcoder: fix the wrong audio codec profile structure access, fixes #4565

8 years agotranscoder: another fix for #4564
Jaroslav Kysela [Thu, 31 Aug 2017 16:52:52 +0000 (18:52 +0200)] 
transcoder: another fix for #4564

8 years agoprofile: fix the wrong data/conf/profiles context
Jaroslav Kysela [Thu, 31 Aug 2017 16:48:24 +0000 (18:48 +0200)] 
profile: fix the wrong data/conf/profiles context

8 years agotvh-json.py: README.md fixes
Jaroslav Kysela [Thu, 31 Aug 2017 14:24:09 +0000 (16:24 +0200)] 
tvh-json.py: README.md fixes

8 years agotranscoder: fix the NULL pointer dereference, fixes #4564
Jaroslav Kysela [Thu, 31 Aug 2017 13:54:57 +0000 (15:54 +0200)] 
transcoder: fix the NULL pointer dereference, fixes #4564

8 years agoapi: more raw idnode extensions
Jaroslav Kysela [Thu, 31 Aug 2017 13:20:54 +0000 (15:20 +0200)] 
api: more raw idnode extensions

8 years agotvh-json: more updates, added README.md
Jaroslav Kysela [Thu, 31 Aug 2017 13:00:19 +0000 (15:00 +0200)] 
tvh-json: more updates, added README.md

8 years agoapi: add missnig api_raw.c
Jaroslav Kysela [Wed, 30 Aug 2017 18:43:06 +0000 (20:43 +0200)] 
api: add missnig api_raw.c

8 years agotvh-json: initial version
Jaroslav Kysela [Wed, 30 Aug 2017 18:38:21 +0000 (20:38 +0200)] 
tvh-json: initial version

8 years agoapi: add idnode raw export/import handlers
Jaroslav Kysela [Wed, 30 Aug 2017 18:36:28 +0000 (20:36 +0200)] 
api: add idnode raw export/import handlers

8 years agowebui: do not load the codec tab when libav is not build-in
Jaroslav Kysela [Wed, 30 Aug 2017 14:56:57 +0000 (16:56 +0200)] 
webui: do not load the codec tab when libav is not build-in

8 years agoapi: add api/pathlist for python-json.py
Jaroslav Kysela [Wed, 30 Aug 2017 14:54:23 +0000 (16:54 +0200)] 
api: add api/pathlist for python-json.py

8 years agoMakefile.ffmpeg: fix libmfx -> libopus depedency
Jaroslav Kysela [Wed, 30 Aug 2017 13:59:20 +0000 (15:59 +0200)] 
Makefile.ffmpeg: fix libmfx -> libopus depedency

8 years agolibav: fix compilation without libav support
Jaroslav Kysela [Wed, 30 Aug 2017 13:33:07 +0000 (15:33 +0200)] 
libav: fix compilation without libav support

8 years agoconfigure: rework vaapi detection
Jaroslav Kysela [Tue, 29 Aug 2017 16:35:39 +0000 (18:35 +0200)] 
configure: rework vaapi detection

8 years agotranscode: audio - add track limiter
Jaroslav Kysela [Tue, 29 Aug 2017 16:18:38 +0000 (18:18 +0200)] 
transcode: audio - add track limiter

8 years agotranscode: add language selection
Jaroslav Kysela [Tue, 29 Aug 2017 16:08:23 +0000 (18:08 +0200)] 
transcode: add language selection

8 years agotranscode: audio - fix the framedrop detection
Jaroslav Kysela [Tue, 29 Aug 2017 13:44:42 +0000 (15:44 +0200)] 
transcode: audio - fix the framedrop detection

8 years agolibav: suppress printing of message 'force frame type'
Jaroslav Kysela [Tue, 29 Aug 2017 13:44:23 +0000 (15:44 +0200)] 
libav: suppress printing of message 'force frame type'

8 years agotranscode: add profile_init() callback for codecs to initialize correctly default...
Jaroslav Kysela [Tue, 29 Aug 2017 08:59:39 +0000 (10:59 +0200)] 
transcode: add profile_init() callback for codecs to initialize correctly default audio format

8 years agotranscode: resample audio if in/out formats does not match
Jaroslav Kysela [Tue, 29 Aug 2017 08:59:02 +0000 (10:59 +0200)] 
transcode: resample audio if in/out formats does not match

8 years agotranscoder: ignore some incoming streams for 'Filtered out' log
Jaroslav Kysela [Tue, 29 Aug 2017 07:55:35 +0000 (09:55 +0200)] 
transcoder: ignore some incoming streams for 'Filtered out' log

8 years agolibav: log - remove trailing newline
Jaroslav Kysela [Tue, 29 Aug 2017 06:51:36 +0000 (08:51 +0200)] 
libav: log - remove trailing newline

8 years agotranscode: fix the src_codecs initialization
Jaroslav Kysela [Tue, 29 Aug 2017 06:51:21 +0000 (08:51 +0200)] 
transcode: fix the src_codecs initialization

8 years agoprofile: load pre-defined streaming profiles and codecs from config tree
Jaroslav Kysela [Mon, 28 Aug 2017 18:43:39 +0000 (20:43 +0200)] 
profile: load pre-defined streaming profiles and codecs from config tree

8 years agotranscode: implement back the possibility to skip source codecs (from commit a334c453...
Jaroslav Kysela [Mon, 28 Aug 2017 15:41:29 +0000 (17:41 +0200)] 
transcode: implement back the possibility to skip source codecs (from commit a334c453cd36bb4b622a5a17e5349c1055143fe2)

8 years agotranscoder: remove some wrappers (duplicated code)
Jaroslav Kysela [Mon, 28 Aug 2017 14:37:10 +0000 (16:37 +0200)] 
transcoder: remove some wrappers (duplicated code)

8 years agoMakefile.ffmpeg: upgrade to opus-1.2.1
Jaroslav Kysela [Mon, 28 Aug 2017 13:57:33 +0000 (15:57 +0200)] 
Makefile.ffmpeg: upgrade to opus-1.2.1

8 years ago[transcode]: hevc does not support interlaced frames
lekma [Wed, 21 Sep 2016 13:55:43 +0000 (15:55 +0200)] 
[transcode]: hevc does not support interlaced frames

8 years ago[transcode]: small adjustment (video picture type)
lekma [Fri, 16 Sep 2016 06:22:40 +0000 (08:22 +0200)] 
[transcode]: small adjustment (video picture type)

8 years ago[transcode]: drop invalid video frame
lekma [Tue, 13 Sep 2016 08:13:17 +0000 (10:13 +0200)] 
[transcode]: drop invalid video frame

8 years ago[transcode]: partially revert previous commit (something went really wrong)
lekma [Mon, 12 Sep 2016 16:05:08 +0000 (18:05 +0200)] 
[transcode]: partially revert previous commit (something went really wrong)

8 years ago[transcode]: fix pict_type for libtheora (and others), drop invalid video packet...
lekma [Mon, 12 Sep 2016 15:41:18 +0000 (17:41 +0200)] 
[transcode]: fix pict_type for libtheora (and others), drop invalid video packet (pts <= last)

8 years ago[transcode]: max_b_frames - should be good
lekma [Mon, 12 Sep 2016 13:58:57 +0000 (15:58 +0200)] 
[transcode]: max_b_frames - should be good

8 years ago[transcode]: finally fix hevc_vaapi recording (and streaming?)
lekma [Mon, 12 Sep 2016 10:51:49 +0000 (12:51 +0200)] 
[transcode]: finally fix hevc_vaapi recording (and streaming?)

8 years ago[transcode]: avcodec_close is deprecated
lekma [Sat, 10 Sep 2016 09:35:21 +0000 (11:35 +0200)] 
[transcode]: avcodec_close is deprecated

see note at:
https://www.ffmpeg.org/doxygen/3.1/group__lavc__core.html#gaf4daa92361efb3523ef5afeb0b54077f

8 years ago[transcode]: picture type
lekma [Wed, 31 Aug 2016 14:24:18 +0000 (16:24 +0200)] 
[transcode]: picture type

8 years ago[libav]: libx265 picture type
lekma [Wed, 31 Aug 2016 14:20:53 +0000 (16:20 +0200)] 
[libav]: libx265 picture type

8 years ago[libav]: couple of fixes + temp modifications
lekma [Wed, 31 Aug 2016 11:17:59 +0000 (13:17 +0200)] 
[libav]: couple of fixes + temp modifications

8 years ago[libav]: verbose logging
lekma [Tue, 23 Aug 2016 12:42:35 +0000 (14:42 +0200)] 
[libav]: verbose logging

8 years ago[transcode]: remove confusing log line
lekma [Mon, 22 Aug 2016 10:23:15 +0000 (12:23 +0200)] 
[transcode]: remove confusing log line

8 years ago[transcode]: h264_omx fix + bitrate setting
lekma [Mon, 22 Aug 2016 10:15:04 +0000 (12:15 +0200)] 
[transcode]: h264_omx fix + bitrate setting

8 years ago[transcode]: fix libx264 profile setting
lekma [Mon, 22 Aug 2016 07:48:34 +0000 (09:48 +0200)] 
[transcode]: fix libx264 profile setting

8 years ago[configure]: omx_rpi (last, I hope)
lekma [Sun, 21 Aug 2016 10:44:29 +0000 (12:44 +0200)] 
[configure]: omx_rpi (last, I hope)

8 years ago[configure]: omx configure (let's hope I got it right this time)
lekma [Sun, 21 Aug 2016 09:51:57 +0000 (11:51 +0200)] 
[configure]: omx configure (let's hope I got it right this time)

8 years ago[configure]: fix for omx_rpi
lekma [Sun, 21 Aug 2016 08:56:24 +0000 (10:56 +0200)] 
[configure]: fix for omx_rpi

8 years ago[wip]: codec profiles + transcode + vaapi
lekma [Sun, 21 Aug 2016 07:32:18 +0000 (09:32 +0200)] 
[wip]: codec profiles + transcode + vaapi

8 years agohttp/satip server: change RTP/TCP data queuing to avoid dead-locks, fixes #4226
Jaroslav Kysela [Thu, 10 Aug 2017 13:56:42 +0000 (15:56 +0200)] 
http/satip server: change RTP/TCP data queuing to avoid dead-locks, fixes #4226

8 years agomkv muxer: fix the crash when agent == NULL
Jaroslav Kysela [Mon, 28 Aug 2017 10:38:49 +0000 (12:38 +0200)] 
mkv muxer: fix the crash when agent == NULL

8 years agotcp: rewrite tcp_connect to try more IP addresses, cleanups, fixes #4552
Jaroslav Kysela [Sun, 27 Aug 2017 17:48:11 +0000 (19:48 +0200)] 
tcp: rewrite tcp_connect to try more IP addresses, cleanups, fixes #4552

8 years agospawn: parse arguments - accept arguments inside '' or like does shell
Jaroslav Kysela [Sat, 26 Aug 2017 14:53:40 +0000 (16:53 +0200)] 
spawn: parse arguments - accept arguments inside '' or  like does shell

8 years agobintray.py: add tidy command
Jaroslav Kysela [Sat, 26 Aug 2017 14:23:52 +0000 (16:23 +0200)] 
bintray.py: add tidy command

8 years agosatip client: issue discovery packets 1,10,30,3600+ seconds after boot, fixes #4553
Jaroslav Kysela [Fri, 25 Aug 2017 14:50:06 +0000 (16:50 +0200)] 
satip client: issue discovery packets 1,10,30,3600+ seconds after boot, fixes #4553

8 years agomuxer libav: do more precise pts/dts rescale
Jaroslav Kysela [Thu, 24 Aug 2017 12:30:51 +0000 (14:30 +0200)] 
muxer libav: do more precise pts/dts rescale

8 years agoprofile: fix the race in profile_sharer_thread initialization, fixes #4545
Jaroslav Kysela [Wed, 23 Aug 2017 15:13:45 +0000 (17:13 +0200)] 
profile: fix the race in profile_sharer_thread initialization, fixes #4545

8 years agoiptv libav input: add missing iptv_input_mux_started() call
Jaroslav Kysela [Wed, 23 Aug 2017 15:07:46 +0000 (17:07 +0200)] 
iptv libav input: add missing iptv_input_mux_started() call

8 years agoiptv libav input: ignore the negative dts/pts values
Jaroslav Kysela [Wed, 23 Aug 2017 14:42:30 +0000 (16:42 +0200)] 
iptv libav input: ignore the negative dts/pts values

8 years agoMakefile.ffmpeg: add flv and live_flv demuxers
Jaroslav Kysela [Wed, 23 Aug 2017 13:14:02 +0000 (15:14 +0200)] 
Makefile.ffmpeg: add flv and live_flv demuxers

8 years agoMakefile.static: add -no-check-certificate to wget
Jaroslav Kysela [Wed, 23 Aug 2017 10:43:14 +0000 (12:43 +0200)] 
Makefile.static: add -no-check-certificate to wget

8 years agoiptv: another way to fix the warning
Jaroslav Kysela [Wed, 23 Aug 2017 10:41:22 +0000 (12:41 +0200)] 
iptv: another way to fix the warning

8 years agoMakefile.ffmpeg: add some demuxers for latest IPTV libav input
Jaroslav Kysela [Wed, 23 Aug 2017 10:27:56 +0000 (12:27 +0200)] 
Makefile.ffmpeg: add some demuxers for latest IPTV libav input

8 years agoiptv: fix compilation error (last change)
Jaroslav Kysela [Wed, 23 Aug 2017 09:33:04 +0000 (11:33 +0200)] 
iptv: fix compilation error (last change)

8 years agoiptv: add libav input
Jaroslav Kysela [Wed, 23 Aug 2017 09:25:17 +0000 (11:25 +0200)] 
iptv: add libav input

8 years agomuxer: fix NULL dereference
Jaroslav Kysela [Wed, 23 Aug 2017 07:40:09 +0000 (09:40 +0200)] 
muxer: fix NULL dereference

8 years agomuxers: pass 'User-Agent' from http streaming
Jaroslav Kysela [Tue, 22 Aug 2017 14:00:44 +0000 (16:00 +0200)] 
muxers: pass 'User-Agent' from http streaming

- and add skip S_DVBSUB tracks for VLC (https://trac.videolan.org/vlc/ticket/14577)

8 years agoAutobuild: add raspbian stretch target ready for doozer.
Mark Clarkstone [Thu, 17 Aug 2017 09:36:51 +0000 (10:36 +0100)] 
Autobuild: add raspbian stretch target ready for doozer.

8 years agompegts pass muxer: remove include of signal.h
Jaroslav Kysela [Tue, 22 Aug 2017 08:26:59 +0000 (10:26 +0200)] 
mpegts pass muxer: remove include of signal.h

8 years agoepg channel mapper: fix the wrong channel list save, fixes #4539
Jaroslav Kysela [Tue, 22 Aug 2017 08:13:31 +0000 (10:13 +0200)] 
epg channel mapper: fix the wrong channel list save, fixes #4539

8 years agompegts pass muxer: add kill signal / timeout fields
Jaroslav Kysela [Tue, 22 Aug 2017 07:43:33 +0000 (09:43 +0200)] 
mpegts pass muxer: add kill signal / timeout fields

8 years agompegts pass muxer: add spawn functionality
Jaroslav Kysela [Tue, 22 Aug 2017 07:16:46 +0000 (09:16 +0200)] 
mpegts pass muxer: add spawn functionality

8 years agomain: cleanup fix for recent openssl library
Jaroslav Kysela [Tue, 22 Aug 2017 07:09:14 +0000 (09:09 +0200)] 
main: cleanup fix for recent openssl library

8 years agoprofile: mpegts spawn - fixes and cleanups
Jaroslav Kysela [Tue, 22 Aug 2017 06:34:29 +0000 (08:34 +0200)] 
profile: mpegts spawn - fixes and cleanups

8 years agomuxers: call muxer_cache_update only for seekable file descriptors
Jaroslav Kysela [Mon, 21 Aug 2017 11:43:15 +0000 (13:43 +0200)] 
muxers: call muxer_cache_update only for seekable file descriptors