Tim-Philipp Müller
6505e84f7c
dvbsrc: reflow switch case statement a bit
...
Make it clear there's no 'break' missing at the end
of the case SYS_DVBT, and pacify coverity (CID 1249689).
2014-10-27 12:43:53 +00:00
Reynaldo H. Verdejo Pinochet
e9cb4c58ab
dvbsrc: correctly capitalize DiSEqC
2014-10-24 21:42:58 -03:00
Reynaldo H. Verdejo Pinochet
2879abd4f9
dvbsrc: rework _output_frontend_stats()
...
Retry stat reporting ioctls on EINTR
2014-10-24 20:24:36 -03:00
Reynaldo H. Verdejo Pinochet
34216b8332
dvbsrc: add checks on allowed DVB-T bandwidths
2014-10-24 20:24:36 -03:00
Reynaldo H. Verdejo Pinochet
c1d48d4acd
dvbsrc: add fixme note on DTV_LNA setting
...
Rephrase another comment while at it
2014-10-24 20:24:30 -03:00
Reynaldo H. Verdejo Pinochet
ed7e763b9d
dvbsrc: add missing logic for additional bandwidths
...
New 1.712, 5 and 10 MHz bandwidths were been ignored
at set/get prop.
2014-10-24 18:57:40 -03:00
Sebastian Dröge
68c067e3c9
vtenc: Fix locking
...
The object lock only protects the session, as we modify
the session from other threads when the bitrate property
is changed. Don't hold it much longer than for session
related things.
And we need to release the video decoder stream lock before
enqueueing a frames. It might wait for our callback to dequeue
a frame from another thread, which will then take the stream
lock too and deadlock.
2014-10-21 16:22:06 +02:00
Sebastian Dröge
ad649138aa
vtenc: Use kVTProfileLevel_H264_Baseline_AutoLevel only on iOS
...
It is not required on OSX apparently and was only added in 10.9.6 there.
Calculating the correct level from the configuration is not trivial, so let's
just not set a level at all here.
2014-10-19 14:57:43 +02:00
Sebastian Dröge
b57f255f26
vtenc: VTCompressionSessionPrepareToEncodeFrames only exists since 10.9.6
...
Check with configure for it instead of using one of the availability macros
as those wouldn't work as expected with minor versions.
2014-10-19 14:51:40 +02:00
Sebastian Dröge
e79355078e
vtenc: Remove unused #define
2014-10-19 14:32:31 +02:00
Sebastian Dröge
3cead041f6
vtdec: Set reorder length to 0 if we can't calculate it
...
Instead of leaving it at whatever value it had before.
2014-10-14 09:19:59 +02:00
Reynaldo H. Verdejo Pinochet
f426aee5db
dvb: make interleaving a prop and proxy on dvbbasebin
...
DTV_INTERLEAVING is currently used only for DTBM. This is
congruent with the v4l dvb API where the different interleaving
modes where added for v5.7
2014-10-12 21:37:24 -03:00
Reynaldo H. Verdejo Pinochet
a3f8899e8b
dvbsrc: add transmission mode checks for DVB-T/T2
...
These and every sanity check leading to a warning
(we have a few in place) should come handy when
debuging failed tunning scenarios.
2014-10-12 21:37:24 -03:00
Reynaldo H. Verdejo Pinochet
97df6ee85d
dvbsrc: docs, drop v5 API change history comments < .5
...
We only support from minor 5 and up now. Also add a
note about the recently added preliminar DTMB support.
2014-10-12 21:37:24 -03:00
Reynaldo H. Verdejo Pinochet
e26eecd182
dvbsrc: add missing DVB-T2 bandwidth types
...
DVB-T2 supports 5, 10 and 1.712 MHz
Order of the enum values (new values after _AUTO)
has been kept congruent with the one in the v4l
API for consistency
2014-10-12 21:37:24 -03:00
Reynaldo H. Verdejo Pinochet
b0ade1a317
dvbsrc: add preliminary support for DTMB
...
Previously known as DMB-T/H, this is the
terrestial DTV broadcast standard currently
used by the People's Republic of China,
Hong Kong, Laos and Macau (officially),
and by Malaysia, Iraq, Jordan, Syria and
Lebanon (experimentally).
2014-10-03 23:27:04 -03:00
Reynaldo H. Verdejo Pinochet
5a2d834585
dvbsrc: add missing standard transmission modes
...
These apply to ISDB-T, DVB-T2 and DTMB
Order of the enum values (new rates after _AUTO)
has been kept congruent with the one in the v4l
API for consistency.
2014-10-03 23:27:04 -03:00
Reynaldo H. Verdejo Pinochet
9ed8fa25f4
dvbsrc: add missing DTMB guard intervals
2014-10-03 23:27:03 -03:00
Reynaldo H. Verdejo Pinochet
7724d406ea
dvbsrc: add missing DVB-T2 guard intervals
...
According to the v4l-dvb API docs, these are only
used for DVB-T2 at the moment.
Order of the enum values (new rates after _AUTO)
has been kept congruent with the one in the v4l
API for consistency.
2014-10-03 23:27:03 -03:00
Reynaldo H. Verdejo Pinochet
cebba78b17
dvbsrc: add _MUTABLE_PLAYING to tuning props
...
The element can (re)tune while playing so basically
every property used at set_fe_params() can be set
in state <= PLAYING.
2014-10-03 23:27:03 -03:00
Sebastian Dröge
66a4572c12
androidmedia: Fix calculation of the frame size for COLOR_FormatYUV420Planar
...
https://bugzilla.gnome.org/show_bug.cgi?id=734156
2014-10-02 10:26:43 +03:00
Anuj Jaiswal
593f7d520e
androidmedia: break statements unnecessary
...
Code flow never arrives to the break statements due to the goto's. So the
breaks are unecessary. Second part to commit a3958ae65b
https://bugzilla.gnome.org/show_bug.cgi?id=736940
2014-09-24 12:17:41 +01:00
Anuj Jaiswal
a3958ae65b
androidmedia: break statement unnecessary
...
Code flow never arrives to the break statements due to the goto's. So the
breaks are unecessary.
https://bugzilla.gnome.org/show_bug.cgi?id=736942
2014-09-24 12:12:16 +01:00
Joshua M. Doe
27eb6555d1
dshowsrcwrapper: avoid error when set_caps called twice
...
If set_caps is called in a running state, return immediately if the caps
haven't changed. If the pins are already connected, disconnect them.
https://bugzilla.gnome.org/show_bug.cgi?id=736926
2014-09-24 10:02:39 +03:00
Reynaldo H. Verdejo Pinochet
784d2403dc
dvbsrc: add missing FEC rates
...
Order of the enum values (new rates after _AUTO)
has been kept congruent with the one in the v4l
API for consistency.
2014-09-21 14:37:30 -03:00
Sebastian Dröge
3c1ccb64eb
vtenc: Fix encoder to work on iOS
...
iOS has special stride requirements that we don't know yet, so copy
input buffers into buffers allocated by iOS for now.
Later we should check the stride and probably provide a buffer pool for these
buffers so upstream can directly write in there.
2014-09-19 14:47:05 +03:00
Sebastian Dröge
bee1477f08
applemedia: We need to map the coremedia buffers in non-readonly mode
...
Our buffers claim to be writable so other elements expect to be able
to write there without losing their changes.
2014-09-19 14:47:04 +03:00
Sebastian Dröge
9380f6282d
vtenc: Let the encoder automatically choose a h264 level
...
We should negotiate these things via caps...
2014-09-18 17:49:46 +03:00
Sebastian Dröge
31476a3c46
vtenc: Use 0 instead of G_MAXDOUBLE as the max keyframe interval
...
0 means no limit, which was meant here with G_MAXDOUBLE probably.
2014-09-18 13:45:33 +03:00
Sebastian Dröge
8c1e84ff71
vtenc: Expected duration is supposed to be the duration of the stream, not a frame
...
Just don't set it for now, it isn't really needed.
2014-09-18 13:42:24 +03:00
Sebastian Dröge
61c40523df
vtenc: Properly handle keyframes
...
Especially set the SYNC_POINT flag on keyframes.
2014-09-18 13:11:05 +03:00
Jerome Laheurte
4f60ecdd98
dshowsrcwrapper: Port to 1.0
...
https://bugzilla.gnome.org/show_bug.cgi?id=732283
2014-09-18 12:36:34 +03:00
Sebastian Dröge
de9b0be86d
vtdec: Fix compilation
2014-09-18 10:30:04 +03:00
Sebastian Dröge
e653068bc2
vtdec: Handle 0/1 framerates correctly by not calculating their frame duration
2014-09-18 09:47:06 +03:00
Sebastian Dröge
916155da2b
atdec: Fix some compiler warnings with newer clang
2014-09-17 17:37:12 +03:00
Sebastian Dröge
ddea2e4498
vtenc: Prepare encoder after setup
...
This will allow encoding to happen faster on the first frame.
2014-09-17 17:10:58 +03:00
Sebastian Dröge
c6f17d6013
vtenc: Only drain the encoder in ::finish(), not on every frame
...
Otherwise quality and bitrate will be bad.
2014-09-17 17:08:57 +03:00
Sebastian Dröge
0390398e39
vtenc: Error out if encoding returned an error
...
Otherwise we will just continue consuming frames until all memory is filled
up and the app crashes.
2014-09-17 15:39:26 +03:00
Sebastian Dröge
e3bc32fb58
vtenc: Check for errors from VTCompressionSessionCompleteFrames()
2014-09-17 14:56:05 +03:00
Sebastian Dröge
b93e0f5f99
vtenc: Properly scale timestamps for the API and set invalid values
2014-09-17 14:55:24 +03:00
Sebastian Dröge
e4563ce6cf
vtdec: Properly scale timestamps for the API and set invalid values
2014-09-17 14:54:39 +03:00
Sebastian Dröge
d789246077
applemedia: Remove old code that is of no use anymore
2014-09-17 13:19:04 +03:00
Sebastian Dröge
82aae4df74
applemedia: Do weak linking with the VideoToolbox framework
...
It does not exist on older OSX and iOS but we still want to
be able to use it when it's available.
2014-09-17 10:38:20 +03:00
Sebastian Dröge
7fa9bbc3b0
vtenc: Port to GstVideoEncoder base class
2014-09-16 17:04:31 +03:00
Sebastian Dröge
4e1f8285c2
vtenc: Use correct instance struct size
2014-09-16 16:13:16 +03:00
Sebastian Dröge
3a52f6b757
vtdec: Fix compiler warnings
...
values of type 'OSStatus' should not be used as format arguments; add an explicit cast to 'int' instead [-Wformat]
2014-09-16 15:48:11 +03:00
Sebastian Dröge
f2eedb9cee
vtenc: Port to the real VideoToolbox API instead of using our dlopen() wrapper
...
It's a public framework since a long time.
2014-09-16 15:47:29 +03:00
Ognyan Tonchev
dc421b308b
vdpdecoder: do not leak pool
...
https://bugzilla.gnome.org/show_bug.cgi?id=736733
2014-09-16 12:51:06 +03:00
Sebastian Dröge
0f0a50c119
vtdec: No need to set kVTVideoDecoderSpecification_EnableHardwareAcceleratedVideoDecoder on iOS
2014-09-15 15:42:41 +03:00
Sebastian Dröge
c82fa4f845
applemedia: Don't include VideoToolbox on iOS < 8.0
...
It's private API and does not work without a jailbroken device.
2014-09-15 15:12:31 +03:00