1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
|
VDR Plugin 'xine' Revision History
----------------------------------
2011-03-16: Version 0.9.4
- The contained xine-lib-1.1 patch is outdated but might still
work. The patch will get updated in 0.9.5.
- A couple of xine-lib-1.2 patches is still waiting to get
commited. vdr-xine-0.9.4 should be able to work without them.
- Fixed a couple of things in xine-lib-1.2 and VDPAU.
- Fixed compilation for VDR-1.2.x and VDR-1.6.x.
- Updated Makefile to VDR-1.7.17.
- Added support for VDR-1.7.17s TrueColor OSD.
- Added support for VDR-1.7.12s changed PCR handling.
- Added support for VDR-1.7.11s semantic of MakePrimaryDevice.
- Resolved a segfault regarding VDR-1.7.x and cutting marks in
radio recordings (thanks to Joachim Wilke for providing a
fix).
- Included Lithuanian translation (thanks to Valdemaras
Pipiras).
- Included Slovak translation (thanks to Milan Hrala).
- Included Chinese and Taiwanese translations (thanks to
NanFeng).
- Fixed MANUAL about centre_cut_out_mode (thanks to Vorg on
#xine-vdpau).
2009-06-17: Version 0.9.3
- Updated MANUAL accordingly (e. g. some information about
xine engine buffer sizes).
- Implemented VDR-1.7.8s cDevice::GetOsdSize() and changed
cDevice::GetVideoSize() accordingly.
- Implemented video window support while showing an OSD for
VDPAU to support plugins like yaepghd.
- Clipped settings in setup page to reasonable values while
editing to prevent rendering an unreadable OSD.
- Introduced separate live TV buffer values for SD and HD video
as well as audio to allow faster "zapping" on SD channels
while still having large buffers for HD video.
- Fixed setup page display while changing OSD extent.
- Fixed a memory leak in processing TS still images.
- Fixed a bug in processing TS still images which caused the
tail of the image to get lost and hence the image not to get
shown.
- Updated it_IT.po (thanks to Diego Pierotto for providing the
translations).
2009-05-03: Version 0.9.2
- Updated MANUAL accordingly.
- Added setup options to define OSD extent.
- Implemented VDR-1.7.7s cDevice::GetVideoSize() to return an
OSDs maximum extent.
2009-04-12: Version 0.9.1
- Adapted PlayTs() to semantic of VDR-1.7.5.
- Fixed compilation for VDR 1.2.x, 1.4.x, 1.6.x and 1.7.x.
- Added support for tIndex being uint16_t (not tested yet).
- Changed trick speed modes to match GetSTC().
- Fixed buffer calculation after discontinuity which caused
endless slow motion.
- Changed GetSTC() to match VDR 1.7.5's requirements.
- Implemented TS support to StillPicture().
- Fixed crash due to calling PlayTs() from different threads.
- Fixed crashes due to negative OSD coordinates caused by some
skins.
- Fixed INSTALL regarding xine-ui cvs repository and how to
apply the patches as they have been created differently since
release 0.9.0.
2009-01-12: Version 0.9.0
- Updated INSTALL and MANUAL accordingly.
- Fixed several multithreading issues which got triggered on
SMP systems (thanks to Edgar (gimli) Hucek for reporting
issues and testing fixes).
- Added support for VDR-1.7.3 besides TS still pictures.
- Pulled patched VDR-1.7.2's remux.[ch] for a quick adaption to
to VDR-1.7.3 (thanks to Klaus Schmidinger for his approval).
- Fixed PTS handling in xine-lib's FFmpeg decoder for recent
FFmpeg versions which should provide better A/V sync now.
- Added patch sets to input_vdr.c which allow to omit parts of
the MRL, e. g. vdr:// should be sufficient now (thanks to
Ludwig Nussel for providing them).
- Make use of new OSD functionality in xine-lib-1.2. For now
an OSD implementation must provide both new features to have
vdr-xine make use of it.
- Extended OSD support in xine-lib-1.2 to allow truecolor OSDs
as well as hardware scaled OSDs. The new functionality is
currently only provided by VDPAU enabled installations.
- Added frame grabbing support for accelerated frame formats to
xine-lib. Previously, xine-lib exitted the app when frame
grabbing was requested for accelerated frame formats like
xxmc. You'll now get a green image in that case. Reading back
the content of an accelerated frame is currently only
provided by VDPAU enabled installations.
- Hacked support for VDR-1.7.1's new cDevice::PlayTs() method.
- Grab image nolonger needs pnmcut to select the relevant area
of the TV image. Besides that, grab image respects the aspect
ratio you select in VDR's setup menu, i. e. a 16:9 setup and
a 16:9 broadcast will grab you a image without black borders.
A mismatch of aspect ratios will add black borders to the
image to match the visual impression you get on your TV set.
Additionally, the grabbing of field pictures was corrected
with regard to color upsampling.
- A script mkNoSignal.sh is provided to create custom logos.
Just provide PNG files named noSignal16x9*.png (and ...4x3...
respectively) and have the tools mentioned in INSTALL in your
path. You'll have to move your custom logos then over the
default files.
- The vdr-xine logo is now available in two aspect ratios (4:3
and 16:9) as more channels provide 16:9 content. Then vdr-xine
selects the logo which matches VDR's DVB setup option video
format.
- Added the ability to detect discontinuities in live TV and
to start a new buffering period in such a case. This will
help to resume to fluent playback from bad weather conditions
or when disconnecting and reattaching the antenna cable.
- Updated it_IT.po (thanks to Diego Pierotto for providing the
translations).
2008-03-10: Version 0.8.2
- Fixed optional parameter processing for parameter -p. As
getopt() requires that optional arguments must follow the
option switch without any delimiters, I've updated MANUAL
accordingly, i. e. all options are documented without
delimiters. Furthermore you'll get an error message when
specifying the argument for -p incorrectly.
- Fixed compilation of patched xine-lib-1.1 (thanks to Darren
Salt and Fabian Foerg for contributing fixes for this issue).
- Provided xine_get_current_frame_alloc() to xine-lib which
allows retrieving the current frame image without the need
to pause the stream for a second call to the function after
allocating sufficient memory.
- Fixed retrieving only valid PTS from xine. xine's metronom is
now intercepted to monitor PTS changes after which PTS are
considered to be valid.
- Fixed handling VDR's clear command. Adding sync points to the
stream makes sure that all data on the way to xine up to sync
point gets properly dropped.
- Added Russian translation (thanks to Oleg Roitburd for
providing ru_RU.po).
2008-01-01: Version 0.8.1
- Updated documentation mentioning binary and devel packages
for xine-lib-1.2, so compiling xine can be ommited for some
distributions.
- Updated INSTALL regarding XINE VDR VERSION MISMATCH.
- The xine-lib.patch for xine-lib-1.1.x nolonger contains any
FFmpeg fixes for H.264 decoding. It is recommended to install
a recent FFmpeg and to add --with-external-ffmpeg when
configuring xine-lib.
- Contributed some xine-lib options for H.264 decoding.
- Adopted name and files changes of vdr plugin in xine.
- Updated it_IT.po and xineI18n.h (thanks to Diego Pierotto for
providing the translations).
- Implemented makefile switch VDR_XINE_VERIFY_BITMAP_DIRTY to
turn off dirty bitmap verification and hence safing calls to
memcpy() and memcmp() for OSD operations.
- Removed TCP_NODELAY for the video stream socket to reduce
network load.
- Fixed OSD scaling for HD subtitles. The scaler nolonger
allocates a fixed size buffer for a 720x576 OSD but guesses
typical maximum OSD sizes, i. e. 720x576, 1280x720, 1920x1080.
2007-10-24: Version 0.8.0
- Frame duration was not set correctly in xine-lib for H.264
frames, causing frame drops an non fluent playback.
- Added network patch (thanks to Tobias Grimm for supplying it).
Although I had planned to optimize it to just use one port and
only two sockets, I decided to release it in its current state
instead of waiting further years. I've just modified it to use
a more xine-like MRL netvdr://host:port#demux:mpeg_pes where
port is optional (defaults to 18701). The fifo MRL should now
be written vdr://tmp/vdr-xine/stream#demux:mpeg_pes, although
a single slash will still work, too.
- Updated et_EE.po (thanks to Arthur Konovalov for supplying
the file).
- Fixed a bug in vdr-xine's buffer handling for live TV mode
which got most noticeable when switching back from a H.264
channel to a MPEG2 channel, especially when the machine was
not capable of playing the H.264 stream in real time. As the
buffer was not cleared when switching channels, old H.264
data was sent to xine instead of new MPEG2 data, which caused
xine to incorrectly switch to H.264 mode. This behavior could
lead to a crash in FFmpeg later.
- Fixed OSD handling in vdr-xine as certain subtitles could cause
a memory corruption in xine (thanks to Arthur Konovalov for
providing sample recordings).
2007-10-17: Version 0.7.12
- Updated INSTALL and MANUAL accordingly.
- Added support for VDR-1.5.10's new key kSubtitles and fixed a
deadlock due to setting audio volume when changing the primary
device.
- Added a new configuration option "Connection interacts with EIT
scanner" as requested by Boguslaw Juza (see MANUAL for details).
- Added some patches to xine-lib regarding H.264 support, as
FFmpeg's decoder improved very much during the past weeks. It
supports now multithreaded decoding (you need to enable at
least 2 threads in xine-ui to make use of it) and almost
complete PAFF support which is used for interlaced images.
These new features are only available, when xine-lib is
configured to use an external FFmpeg installation.
- Added support for VDR-1.5.9's OSD levels.
- Fixed compiler warnings when compiled with gcc-4.2.x (thanks
to Joerg Bornkessel for suppling the patch).
- Exchanged noSignal.pes (thanks to Markus Nissl for supplying
the new image).
2007-08-30: Version 0.7.11
- Added preliminary support for OSD changes in VDR-1.5.9.
- Added preliminary support for H.264 streams. xine uses FFmpeg for
H.264 decoding and as the decoder isn't rock stable at the moment
and doesn't support all H.264 features like interlacing, it is
likely that some frames do not get decoded or moreover that xine
crashes.
- Removed some unnecessary calls to clear xine's buffer when
switching between pause and play.
- Spent a lot of time fixing some issues in xine-lib. Integrated
a big bunch of my xine-lib patch into xine-lib-1.1.8. All patches
are now part of xine-lib-1.2.
- Added the opportunity to change xine's volume in software, like
when changing xine's config option gui.audio_mixer_method to
Software (thanks to Halim Sahin for the request).
- Added the possibility to configure different zoom settings for
4:3 and 16:9 images, which are automatically activated when xine
signals a format change (thanks to Detlef Nebermann for the
request).
2006-12-10: Version 0.7.10
- Updated xine patches to current CVS (should be compatible with
xine release 1.1.3).
- Fixed a segfault in SHQ OSD scaling code due to uninitialized
variables (thanks to Gregorie Favre for reporting this issue and
testing the fixes).
- Added noSignal-smallTextAtBottom.mpg to directory data (thanks to
John for supplying the file).
- Fixed a segfault in xine when there is no demuxer available (e. g.
the SuSE 10.1 xine-lib binary lacks support for MPEG2).
- Fixed compiler warnings on x86_64 architectures (thanks to Ville
Skyttä for compilation assistance).
- Added support to xine for the 3 new keys of VDR-1.3.47.
- Updated MANUAL accordingly.
2006-04-17: Version 0.7.9
- Updated Finnish translation (thanks to Rolf Ahrenberg for
supplying the patch).
- Adapted vdr-xine to VDR-1.3.45.
- Adapted vdr-xine to VDR-1.3.47.
2006-03-20: Version 0.7.8
- Fixed HISTORY as it mentioned future releases of VDR (thanks to
Klaus Schmidinger for reporing this issue).
- Fixed sending video data: the first packet after a Clear() got
dropped which made editing recordings impossible (thanks to
Gregoire Favre for reporting this issue).
- Fixed implementation of func_wait as it didn't synchronize VDR and
xine as expected.
- Adapted vdr-xine to VDR-1.3.44 cOsd::DrawBitmap() (thanks to C.Y.M.
for reporting this issue).
- Replaced 'prebuffer' by 'buffer' in vdr-xine's setup menu.
- Added new setup parameter "buffer hysteresis" which is added to
"Live-TV buffer" for determining the initial buffer size which
must be achieved before replaying switches to normal speed. It is
recommended to reduce your current buffer setting by the value
for hysteresis.
- Added PTS prediction to stop prebuffer phase much earlier on
channels which rarely add PTS to their stream's PES packets.
- Changed buffering to monitor the buffer size during a configureable
time after the configured buffer size (Live-TV buffer + hysteresis)
was initially established.
Whenever the buffer size drops below the configured value (of Live-
TV buffer frames), hysteresis is increased by an additional frame
and the new buffer is established.
- The above changes to buffering allow minimizing the buffer for
faster zapping on regular channels while not loosing the ability
to watch some special (mosaic) channels which required larger
buffer settings.
- Implemented continuous monitoring to reestablish the buffer once
it drops below the configured value. This allows watching the HDTV
demo loop on ASTRA HD forever. This feature can be enabled on
demand in vdr-xine's setup menu, as it might be a performance issue
on less powerful machines.
- As VDR-1.2.6 lacks c*Repackers, the above changes to buffering do
not work that precisely with this old VDR version. Just increase
the buffer values a bit as necessary.
- Fixed an out of range access in OSD scaling code by clipping away
negative coordinate areas. The segfault was triggered by opening
the audio track menu on channels with at least 20 tracks while
VDRs default skins where selected.
- Patched xine to speed up OSD operation when switching audio tracks
in live TV mode or when showing still frames (e. g. when editing
cutting marks). This change most likely breaks binary compatibilty
to other xine plugins.
- Failed to speed up OSD operation in trick speed modes: it would
require to copy each frame at least while OSD is active, which
might be a performance issue. So for now, the worst timing for a
single OSD operation is about 2500 ms in VDR's first slow reverse
mode. A possible solution might be X11 OSD overlay, as it is
independent of the video frame, so there is no copying involved.
But that's still to investigate.
- Implemented OSD scaling in regard to xine's video zoom factor. The
OSD will now be scaled accordingly for zoom factors > 100 %. As
determining the zoom factors is an "expensive" operation in xine,
they are only retrieved when some drawing to the OSD is happening.
So you won't see an open OSD to immediately change it's size.
- Fixed a segfault in SHQ OSD scaling code by setting the allocated
memory to 0.
- Updated INSTALL to mention a workaround for xine CVS access, as
cvs.sourceforge.net was quite unreliable recently.
- Fixed compilation for VDR version 1.2.6 which was only possible by
dropping auto primary device feature for VDR versions < 1.3.32.
- Updated MANUAL accordingly.
2006-02-14: Version 0.7.7
- Updated MANUAL (thanks to Ville Skyttä for supplying the patch).
- Added Dutch translation (thanks to Maarten Wisse for supplying the
patch).
- Fixed auto primary device functionality concerning ActualDevice
(thanks to Luca Olivetti for reporting this issue).
- Shutting down cOsdProvider when vdr-xine is nolonger primary device
to fix an issue where the new primary device doesn't register it's
own cOsdProvider instance.
- Fixed cXineDevice::SetDigitalAudioDevice() for radio channels with
multiple audio tracks (e. g. RADIO INT2). These tracks are not
related to each other and therefore syncing these tracks by PTS is
impossible and causes huge delays otherwise.
- Adopted cXineDevice::GrabImage() to VDR-1.3.38 (based on a patch of
Darren Salt).
- Fixed some issues with FIFO_DIR containing spaces (thanks to Darren
Salt for supplying the patch).
- Fixed some warnings about strict-aliasing issues when compiling with
gcc-4.1 (thanks to Ville Skyttä for reporting this issue).
- Added two new command line arguments (-X / -Y) to change the default
image size for GrabImage(). Internally, they are predefined as
-X 720 and -Y 576.
- Dropped the Audio-Mode setup option for VDR >= 1.3.18 as VDR's audio
menu and PlayPes() took over sending just a single audio stream to
the output device.
- Fixed implementation of cXineDevice::Clear(), which speeds up jumping
back and forth in recordings. A stresstest showed that from time to
time a deadlock happened in libasound (ALSA) when xine is opening the
audio device. You may experience a problem too if you stay on the
GREEN button at the beginning of a recording. On my system it caused
segfaults, asserts and deadlocks while xine is opening the ALSA
audio device. I'd be glad if someone could fix this issue.
Anyway, I hope that this change partitially fixes the delay on some
systems which happened when switching to trickspeed modes while
replaying a recording.
- Added support for VDR's new info key.
- Tried to get xine's ffmpeg decoder to work with vdr-xine, but failed.
- Had xine CVS take over a couple of my xine patches.
- Tuned xine-lib's startcode scanner in libmpeg2.
- Adapted vdr-xine to VDR-1.3.41 changed detection of transfer mode.
- Adapted vdr-xine to VDR-1.3.42 changed cDevice::PlayAudio().
- Replaced noSignal*.pes with noSignal*.mpg. vdr-xine will complain
about a missing noSignal.mpg. Just copy the new files from the source
directory to the mentioned location as mentioned in INSTALL.
- Changed buffering completely. When VDR switches to a channel, xine
starts replaying at 12.5 % of normal speed. Then vdr-xine monitors
the stream's PTS values and compares them to the value which xine
reports. The difference between VDR's and xine's value makes up the
currently gained buffer. When the buffer reaches the configured size
then xine switches to 100 % speed.
ATTENTION: this change requires you to reduce the configured
prebuffer in vdr-xine's setup page to about 8 frames!
- Updated MANUAL and INSTALL accordingly.
2005-09-11: Version 0.7.6
- Fixed vdr-xine to update xine's audio stream bitrate and decoder
after xine has connected to vdr-xine. Before that, xine showed
the information of the NOSIGNAL stream.
- Several MPEG1 related fixes.
- Several fixes concerning playing of externally generated VDR
recordings (thanks to Fabian Wolter for supplying a recording).
- Fixed compilation for VDR-1.3.32.
- Playing a still image could make vdr-xine wait for further video
packets (this issue showed up from time to time when using the
vdr-radio plugin).
2005-08-14: Version 0.7.5
- Added documentation about gxine's VDR support to MANUAL (thanks to
Darren Salt for supplying the patch).
- Fixed xine-plugin to update audio stream bitrate and decoder.
- Removed singleton enforcement of xine-plugin as it caused problems
with xine's post plugin management (suggested by Darren Salt).
- Added support to select left / right audio channel by audio post
plugin 'vdr_audio'.
- Added audio post plugin support to xine-ui and fbxine which was needed
for the new audio post plugin vdr_audio.
- Renamed video post plugin 'vdr' to 'vdr_video' to match naming scheme,
but it also registered as 'vdr' to maintain compatibility.
- Created audio post plugin 'upmix_mono' to turn a mono stream into a
stereo one with identical data on both sides (requested by Lucian
Muresan).
- Fixed some endianness problems in OSD code (thanks to Carsten
Rietzschel for reporting this issue).
- Fixed some compiler warnings with gcc-4.0.1 and gcc-4.1 (thanks to
Eric OUEDRAOGO for reporting this issue).
- Updated plugin to match interface changes in VDR-1.3.27 (thanks to
C.Y.M for reporting this issue).
- Fixed implementation of cDevice::Clear() which didn't ensure that
really all data (i. e. the data which is just in the FIFO or socket)
get's cleared. This might improve switching to trickspeed mode.
- Updated MANUAL about using vdr_audio post plugin.
2005-05-08: Version 0.7.4
- Fixed compilation issue with gcc-4.1 (thanks to ollo at vdr-portal for
reporting this issue).
- Fixed audio output when used with muggle (thanks to Der_Olli at
vdr-portal for testing).
- Fixed input_vdr for proper "C" coding (thanks to Philip Lawatsch for
reporting this issue).
- Increased xine-lib's demux_mpeg_pes.c's WRAP_THRESHOLD to 270000 to
fix detection of false discontinuities (thanks to Jouni Karvo for
reporting this issue).
- Fixed xine-lib's xxmc decoder to properly decode radio-plugin's
background images.
- Updated dvbplayer patch for VDR-1.3.24.
2005-04-11: Version 0.7.3
- Started detection of AFD header in xine to automatically crop out the
interesting part of the image later.
- Adopted implementation of cXineDevice::SetDigitialAudioDevice() to
different calling order in VDR 1.3.23.
- Improved cXineDevice::SetDigitalAudioDevice() when replaying recordings.
- Added setup option to automatically make vdr-xine the primary device
while xine is connected to vdr-xine (requested by Der_Olli at vdr-portal).
- Added setup option to consider all semi transparent colors as opaque to
make the menu more readable.
- Added commandline option '-s' to switch to skin 'curses' while xine is
not connected to vdr-xine (requested by Rantanen Teemu).
- Added commandline option '-q' to suppress debug messages (useful in
combination with option '-s').
- Moved disconnect to cXineDevice::Stop() to get the new options to work.
- Fixed all (?) deadlock situations in RPC command processing (e. g.
stopping replay while switching a channel).
- Fixed deadlocks in vdr-xine's xread(). A possible drawback is that now
a disconnect might happen in such a case.
- Fixed VDR's I-frame processing which caused disconnects e. g. while
moving cut marks in HDTV recordings. vdr-1.2.23-dvbplayer3.patch is
highly recommended for proper operation of vdr-xine.
- Improved cXineDevice::StillImage() implementation to immediate display
the frame (improves moving cut marks).
- Fixed cXineDevice::StillImage() to work properly in combination with
the plugin vdr-radio.
BUG: xine's driver xxmc shows just a black screen on my EPIA MII-6000E.
- Reintroduced usleeps() in input_vdr.c for flush, OSD flush and reset
audio. sched_yield() simply caused to much CPU load while waiting
about 40 ms to reach the expected state. Improves number of dropped
frames when switching channels.
- Optimized OSD display: VDR's channel display repeatedly sends a dirty
OSD which doesn't differ from the previous one. Improves number of
dropped frames while switching channel.
BUG: it's still unclear whether this causes some OSD artefacts.
- Fixed demux_mpeg_pes' discontinuity detection. Previously, when a PTS
wrap happend, xine stopped replay for about 26.5 hours.
- vdr-xine now nolonger set's xine's metronom directly but tells it's
demuxer to do the job. Improves switching channels.
- Optimized implementation of cXineDevice::Clear() in input_vdr.c.
BUG: it may happen that xine's audio driver ALSA might get into a state
of "silence" where it doesn't recover from until you stop replaying the
recording. I still didn't find a way to reproduce this but it has to do
with trickspeed, pause, play, and probably cut marks.
- Fixed post_vdr.c to detect MRL changes for discovering streams sent from
VDR, e. g. when xine is not started with the MRL specified on it's
command line.
BUG: It's possible that xine crashes due to this detection. xine doesn't
allocate a different stream for a different MRL, but maybe other players
do. I'm not sure whether I managed to increase the streams usage counter
properly (by allocating an event queue) until I detect the new stream
respectively MRL.
BUG: post_vdr doesn't operate when xine's driver xxmc is used due to some
limitation/incomplete implementation in xine's plugin interface.
- Fixed xine's deinterlacer interface to take care of cropping. Previously
the OSD was resizing like mad e. g. between 1920x1080 and 1920x1088.
- Added support for VDR's new AUDIO key in xine (thanks to Darren Salt for
reporting this issue).
2005-02-27: Version 0.7.2
- Fixed cXineDevice::StillPicture() to support three times larger still
image data than before. This was necessary to properly support mp3
plugin's cover image feature (thanks to burki at vdr-portal for reporting
this issue).
- Removed cXineStatus as vdr-xine now uses a different method of detecting
LiveTV. This one works better in combination with mp3 plugin (thanks to
Klaus Schmidinger for suggesting the new solution).
- Updated xine-lib patch for current CVS (thanks to Grégoire Favre for
reporting this issue).
2005-02-13: Version 0.7.1
- Updated finish translation (thanks to Rolf Ahrenberg for supplying the
update).
- Fixed a typo in checking for VDR versions before 1.3.18. This broke
successful compilation for versions between 1.3.8 and 1.3.18 (thanks to
Andreas Urban for reporting this issue).
- Fixed processing of cDevice::SetDigitalAudio() as it skipped displaying
of NO SIGNAL when switching channels.
2005-01-29: Version 0.7.0
- Implemented centre-cut-out mode: this feature will crop away the black bars
around a 4:3 image which is broadcast in a 16:9 stream and is displayed on
a 4:3 monitor. See MANUAL how to enable this mode.
- Fixed OSD scaling for the case where xine cropped the image for displaying.
- Integrated patch for image grabbing. You can now specify the absolute path
of the utilities for grabbing an image. Furthermore, the patch fixes a
possible security issue when the filename for the GRAB command contained
special shell characters (thanks to Darren Salt for supplying the patch).
- Image grabbing now also requires pnmcut to support cropped images.
- Prepended VDR_XINE_ to Makefile variables FIFO_DIR and SET_VIDEO_WINDOW to
avoid collisions when vdr-xine's variables are set in VDR's Make.conf.
- Added syslog messages when VDR_XINE_FIFO_DIR or any fifo cannot be created.
- Added a further config option to vdr-xine's setup menu: you may now specify
how VDR's mute requests will be processed in xine:
a) ignore
b) simulate (set volume to 0 / restore volume)
c) execute
- Fixed xine part to update UI when volume / muting is changed.
- Updated INSTALL, MANUAL and xineI18n.h accordingly.
2005-01-23: Version 0.6.5
- Adapted vdr-xine to the recent changes in VDR-1.3.19.
- With VDR-1.3.19, the HDTV patch for VDR is obsolete now. See the file
vdr-patches-README.txt on my homepage for details.
2005-01-10: Version 0.6.4
- Adapted vdr-xine to the recent changes in VDR-1.3.18. The xine part has also
changed and therefore a rebuild of xine is required.
- With VDR-1.3.18 a lot of my patches for VDR are obsolete now. See the file
vdr-patches-README.txt on my homepage for details.
- Removed the necessity of changing POLLTIMEOUTS_BEFORE_DEVICECLEAR.
- Updated INSTALL appropriately.
2004-12-31: Version 0.6.3
- Fixed uninitialized variable in xineRemote.c. Release 0.6.2 showed high CPU
load of XineRemote control thread when switching between channels with
different resolution.
2004-12-30: Version 0.6.2
- Integrated i18n updates (thanks to Rolf Ahrenberg for supplying the patch).
- Fixed processing of MPEG1 streams. vdr-xine should now be able to work
together with vdr-analogtv.
- Fixed race-condition at shutdown when at client-disconnect vdr-xine accessed
the already destructed xineRemote.
- Fixed invalid pointer access in input_vdr.c (thanks to Darren Salt for
supplying the patch).
- Fixed some OSD update issues that happend when xine asked for an update and
VDR was drawing on the OSD at the same time.
- Prepared xine part for integration into xine-lib-1.0.x.
- Synced SPU processing. DVD subtitles should now nolonger be several seconds
ahead of their expected presentation time.
- Updated MANUAL to reflect name changes in xine's config file.
2004-12-10: Version 0.6.1
- Added vdr-xine option "-i NUM" which can be used to get two or more vdr-xine
instances running on the same machine (in different VDR instances). The same
option is available as "--vdr-instance=NUM" to xineplayer but there it must
be the first argument to not conflict with any other options from mplayer.
- Fixed cXineDevice::StillPicture() to automatically add an PES video header
if the given data doesn't contain one. As a result vdr-streamdev-* is now
able to show an image while pausing Live-TV (thanks to Darren Salt for some
hints on optimized coding).
- Fixed some special cases of dolby audio processing introduced in 0.5.3
(thanks to Markus Maierhofer for reporting this issue).
- Moved option OSD_SCALING_MODE and DONT_CHANGE_XINE_VOLUME from Makefile to
vdr-xine's setup. Therefore the same binary package can now be run on less
powerful machines too.
- Integrated a large piece of xine-lib.patch into xine-lib-cvs. As a result
the configure option --disable-exact-blending is gone and is now available
as runtime configureable option "video.disable_exact_osd_alpha_blending".
- Updated xineI18n.h. Feel free to supply updates for other languages too.
- Updated INSTALL and MANUAL accordingly.
- Introduced xineCommon.h to handle poisend VDR source.
- Prepared xineI18n.h for additional languages.
- Added a setup option for adjusting OSD gamma correction when OSD scaling
is necessary.
- Fixed xine part to no longer freeze when one connects to stale vdr-xine
FIFOs.
- Fixed xine part to immediately react on the "stop" button in case where
VDR doesn't send a stream to xine.
- The error message about missing noSignal.pes is now also logged via syslog
as there was otherwise no indicater found in the logfile why VDR terminated
that early.
2004-11-02: Version 0.6.0
- Implemented playback of external sources. This is done using the well known
mplayer plugin in combination with my mplayer wrapper called "xineplayer".
Just setup mplayer plugin as it's documentation states. Then edit it's
"mplayer.sh" and replace "mplayer" by "xineplayer". xineplayer get's built
into vdr-xine's source directory. You'll have to copy it to a "bin"
directory which is part of your PATH or you might want to specifiy it's full
path in mplayer.sh. For this first release you'll have to select mplayer
plugin's "TRADITIONAL" mode to get it working with vdr-xine.
- Exact but CPU intensive OSD blending can now be disabled in xine-lib by
giving the configure switch "--disable-exact-blending" to "./autogen.sh".
- Fixed high CPU load of vdr-xine when xine was disconnected while a currently
replayed recording was paused.
- Removed DATA_DIR. "noSignal.pes" is now expected below VDR's config files
directory, i. e. .../plugins/xine/noSignal.pes.
- Added OSD scaling mode "auto SHQ" which automatically chooses SHQ mode for
low resolution streams (width < 360 respectively height < 288). This mode is
now the one which is preselected in Makefile.
- Updated INSTALL and MANUAL accordingly.
2004-10-24: Version 0.5.3
*** NO NEED TO RECOMPILE xine-lib / xine-ui THIS TIME ***
- Fixed dolby audio processing to get recordings (and former live stream) of
channel "ProSiebenHD" to play properly.
- Fixed extraction of PTS values (ignore PTS of value 0) resulting in better
prebuffering (thanks to Cristiano Bozzi for reporting this issue).
- Changed data processing to comply with VDR's new buffer handling since
release 1.3.13 (thanks to Klaus Schmidinger for assistance).
- Scrambled flag on PES packets is now cleared to not have xine terminate
playback due to bad reception quality respectively early data transmission
while device is still tuneing (thanks to mvdbeek at vdr-portal for reporting
this issue).
- Replaced all usleep() calls by cMutex / cCondVar substitutes.
- Added paragraph to INSTALL (BUILDING XINE) about required versions of
autoconf suite for building xine (requested by Frank99 at vdr-portal).
2004-10-09: Version 0.5.2
- Fixed xine-lib/src/vdr/input_vdr.c for compliance with C coding. It should
now compile properly with gcc-2.95.3 (thanks to Jouni Karvo for reporting
this issue).
- Implemented cPlugin::CommandLineHelp() (suggested by ronnykornexl at
vdr-portal).
- Updated INSTALL and pointed to xine-cvs archives on my homepage.
- Updated INSTALL and documented "ERROR: remote control XineRemote not ready!"
which appears in VDR's logfile.
- Updated INSTALL and mentioned delay of about 10 seconds until VDR enters
"Phase 2" of remote learning mode after pressing a remote key in "Phase 1".
- Fixed compile error of xine-lib's video_out_xvmc.c which was caused by my
OSD patches (thanks to Kron at vdr-portal for reporting this issue).
- Fixed a buffer overrun in my patches to xine-lib which caused xine to die
occasionally when VDR's OSD was active and/or operated (thanks to Joerg
Knitter for intensively testing vdr-xine).
- Tried to create a patch for xine-lib that complains when applied to RC6 but
all rejects should only address the newly added driver xxmc. Therefore they
can simply be ignored.
- Currently, xine-ui.patch is empty but I didn't want to remove this file as
doing so might break some people's build scripts.
2004-10-04: Version 0.5.1
- Updated documentation (thanks to Darren Salt for supplying the patch).
- OSD scaling is now using frame resolution instead of stream resolution. This
should make the OSD show up more often already at the right resoltion. For
almost immediate response to resolution changes it is required to run xine
with --post vdr.
- Completed implementation of cDevice::GrabImage() method. It now supports
xine's different image formats and honors the different aspect ratio of
16:9 broadcasts.
- Added paragraph to INSTALL about additional programs which are needed to
successfully grab images.
- Added paragraph to INSTALL about remote learning mode.
- Synchronized OSD output. Hideing an OSD and grabing an image immediately
afterwards leaded to a snapshot which still showed the OSD.
- Probably fixed audio replay on channels with still video. Prebuffer time is
now extended dynamically by the difference between audio and video time
stamps on the channel in question.
- Fixed prebuffering after toggleing audio channel.
- Reorganized directory structure of the xine part once again. xine-ui now
needs the configure switch "--enable-vdr-keys" to support vdr-xine's remote.
- Improved OSD scaling which took over month to optimize. See Makefile for
OSD_SCALING_HQ. One might also choose OSD_SCALING_SHQ but be warned about
the CPU load it causes.
- xine-lib-1-RC6 should be sufficient for this release but my patches will
complain about the recently added driver xxmc.
2004-08-08: Version 0.5.0
- Added paragraph to INSTALL about using the correct xine-config in Makefile
(suggested by Luca Olivetti).
- Fixed SEGV (in remote control code) which happend when VDR was exiting
(thanks to Mattias Grönlund for supplying the patch).
- Added a Makefile switch DONT_CHANGE_XINE_VOLUME to have vdr-xine never
change xine's volume control (e. g. when connecting xine to VDR), as this
might lead to (un)muting the wrong audio channels (requested by Jouni
Karvo).
- Fixed quickly switching between play / pause. There is still a lockup left
to be fixed that appears on some machines when jumping between cutting marks
(thanks to peter_weber69 at vdr-portal for testing the fix).
- Added video scaling by xine post plugin 'vdr' to support yaepg plugin. One
will have to add "--post vdr" to the command line or select the post plugin
via the user interface. As yaepg patches VDR, you'll have to tell vdr-xine
whether you want to support yaepg by enabling SET_VIDEO_WINDOW in Makefile.
- Looking forward to having the xine part integrated into CVS, the locations
of my plugins in xine-lib's source tree have changed. INSTALL was updated
to the new patch procedure. A current CVS source tree is required (can be
found on my home page, too).
2004-07-25: Version 0.4.3
- Fixed xineI18n.h for compatibility with VDR-1.3.[01]. The Russian translation
entries were introduced with VDR-1.3.2 (reported by Rolf Ahrenberg).
- Implemented OSD scaling. Currently, the scaled OSD is of "bad" quality, but
as a start, it's better than nothing :-)
- Tried to fix the issues which were recently introduced by soft-start, but
it's likely that the fixes still don't work for less powerful machines. In
such a case, locate softStartCalcSpeed() in xineDevice.c and try differnt
methods (0..3). Please drop me a line on success respectively failure.
2004-07-04: Version 0.4.2
- Integrated swedish translation supplied by Tomas Prybil.
- Fixed xineI18n.h for compatibility with VDR-1.3.6 (thanks to ronnykornexl at
vdr-portal for reporting this issue).
- Followed http://www.vdr-wiki.de/wiki/index.php/MANUAL-DE#Patches for creating
respectively naming xine patches (thanks to ronnykornexl at vdr-portal).
- New feature for Live-TV mode: "soft-start" replays the stream in slow motion
while buffering. Useful for zapping, where you'll see an image of the current
program quite early. The stream speed starts now at 50 %, slows down to 25 %
and then speeds up to 100 %. This happens within the prebuffer time, so you
should increase it (e. g. to 50) if you experience problems.
2004-06-27: Version 0.4.1
- Fixed audio handling of the previous release as it broke playing mp3s (thanks
to Jouni Karvo for reporting this issue).
- Fixed xine's linear PCM decoder to support more sample rates. Previously, mp3
files did often play to fast.
- DVDs should play properly now, independent of the dolby setting.
- Disabled debug code. Please remove all /tmp/frame* files which might have
been created by release 0.4.0.
- Integrated remote control patch for fbxine (provided by Dirk Meyer), but I'm
still waiting for an example on how to bind the keys in fbxine.
- Added a section to MANUAL about xine's command line and useful options
(suggested by Jouni Karvo).
- VDR: Improved performance. Please apply the vdr-1.3.11 patches which are
available on my homepage.
- VDR: Fixed recording replay when reaching the end of a recording in
trickspeed mode. VDR switched to play mode instead of ending replay.
2004-06-21: Version 0.4.0
- Integrated patch which implements cDevice::GetSPUDecoder() (thanks to Sven
Goethel for supplying the patch).
- Fixed INSTALL again for correct quoting (thanks to Johannes Schoeller for
reporting this issue).
- Updated xineI18n.h for now 18 languages in VDR 1.3.x (thanks to Achim
Tuffentsammer for the hint).
- Added a paragraph to INSTALL for users of full featured cards (suggested by
Tuomas Jormola).
- Rewrote INSTALL in various places, to contain much helpful information
discussed previously on the mailing list.
- Integrated patch for supplying xine the default MRL of VDR (thanks to Darren
Salt).
- Added cDevice::Flush() to work around xine's large buffers.
- xine-lib-1-rc5 should be sufficient to get the plugin working.
- Improved a lot regarding interoperability with plugin vdr-dvd. To make use
of these changes, you'll have to adjust your '.xine/config'. See MANUAL for
more information.
- It is recommended to enable dolby when using vdr-dvd.
2004-05-27: Version 0.3.4
- Fixed INSTALL to suggest a correctly quoted 'runvdr' command for running the
plugin for the first time (thanks to peter_weber69 and anonymous (aka Ronny)
on VDR Portal for pointing this out).
- Fixed xineOsd.c to show OSD in initial remote key learning mode (thanks to
chris281080 on VDR Portal for determining this issue).
- Added a warning message to xineLib.c, in the case where 'noSignal.pes' can't
be opened, e. g. if DATA_DIR is not set correctly in Makefile.
- Fixed Makefile to use the default DATA_DIR, not my personal one.
2004-05-22: Version 0.3.3
- Fixed input_plugin/input_vdr.c to return proper values for cDevice::GetSTC()
(thanks to Pekka Virtanen for supplying a test plugin).
2004-05-22: Version 0.3.2
- Fixed xineRemote.c to be compatible with API of VDR 1.2.6.
2004-05-21: Version 0.3.1
- Updated xine-lib.patch to support all VDR remote keys.
- Patch file renamed to xine.patch, as xine-ui is modified too.
- Updated INSTALL to reflect new patch file name and patching of xine-ui.
- Updated MANUAL to tell command line args and xine's keybindings.
2004-05-21: Version 0.3.0
- Changed code sequence to follow the C language properly (reported by
Jouni Karvo).
- Updated Finnish translation and added empty Russian translations while
maintaining compatibility with VDR 1.2.x (reported by Rolf Ahrenberg).
- Dropped (later maybe configurable) sending MUTE to xine, as it's not
really necessary for normal operation of VDR (requested by Jouni Karvo).
- Fixed sending dolby audio to xine (requires up-to-date xine-lib CVS).
- Added support for VDR-1.3.7's new OSD interface.
- Integrated patch from Simon Truss to send keystrokes from xine to VDR
for controlling VDR from within xine.
- Enhanced compatibility of xine part to support xine's older API for
VIA-enhanced xine (thanks to Vincenzo Memeo).
2004-05-05: Version 0.2.2
- Added define _GNU_SOURCE to Makefile (just like for new plugins).
- DATA_DIR in Makefile contained path of my system.
- OSD update in xine is now optimized to VDR's dirty OSD area.
- Implemented cDevice::GetSTC().
- Removed some unnecessary PES packet requirements for trickspeed mode.
- Moved image conversion from xine to VDR for cDevice::GrabImage()
implementation.
- Added support for dolby audio (i. e. cDevice::PlayAudio(): untested due
to lack of hardware).
- Added configuration option to enable dolby audio (default: off).
- When xine connects to VDR, volume and muting are adjusted to fit VDR's
values.
2004-04-23: Version 0.2.1
- Corrected some FIXMEs for certain recordings.
- Audio is now unmuted when leaving a recording in trickmode speed.
2004-04-22: Version 0.2.0
- Added trickspeed mode.
- Added image grabbing (requires y4mscaler, y4mtoppm and pnmtojpeg).
- Added automatic selection of prebuffer mode.
- Dropped config option 'xine.modeReplay.prebufferFrames'.
- Dropped config option 'xine.usageModeDefault'.
- Dropped main menu entry.
- Partly integrated Makefile patch from Darren Salt.
- Fixed some stuff regarding latest CVS xine.
2004-02-03: Version 0.1.2
- Fixed a compile error in xine
- Fixed a compile error in VDR
2003-12-21: Version 0.1.1
- Changed version numbering for easier update recognition.
- Updated to latest xine API version number.
- Fixed VDR's high CPU load when no xine connected.
- Added Finnish translation supplied by Rolf Ahrenberg.
- Supplied a completely black 'noSignal.pes' to prevent the monitor from
damage while listening to radio stations for a long time.
2003-12-17: Version 0.0.3 (aka 0.1.0)
- Improved channel switching by using xine's prebuffering.
- Prebuffer settings configurable for Live-TV and Replay.
- Changed directories for plugin's files as suggested on ML.
- Supports xine's unscaled OSD (configurable).
- Shows a currently open OSD on connect with xine.
- Shows an OSD in remote key learning mode.
- Addresses some show stoppers due to recent xine changes.
- Supports i18n.
2003-09-08: Version 0.0.2
- Minor fixes.
- Improved channel switching.
- Dropped dependencies to X11.
2003-09-07: Version 0.0.1
- Initial release.
2003-06-23: Version 0.0.0
- Announcement.
|