Alessandro Decina
d45a2f0480
vtenc: let VT pick the bitrate by default
2014-11-21 15:48:08 +01:00
Alessandro Decina
d800ac023b
vtenc: set H264_Baseline_AutoLevel on OSX as well
2014-11-20 16:06:46 +01:00
Alessandro Decina
d0ce9a6f7c
vtdec: disable the reorder queue for baseline streams
2014-11-20 16:06:46 +01:00
Sebastian Dröge
6e2e8ec0ac
vtdec: Fix divide by zero in the picture buffer length calculation
2014-11-20 09:42:24 +01:00
Reynaldo H. Verdejo Pinochet
21b544863a
dvbsrc: drop explicit comparisons against 0 for true/false
2014-11-16 20:32:56 -03:00
Tim-Philipp Müller
3e1d763018
dvbbasebin: fix possible crash by passing 64 bits for 64-bit queue property
...
https://bugzilla.gnome.org/show_bug.cgi?id=740191
2014-11-15 21:59:48 +00:00
Sebastian Dröge
bdfac8a6d4
decklink: Fix indention
2014-11-14 10:41:59 +01:00
Alessandro Decina
5977ef5552
vtenc: fix build on iOS
2014-11-12 16:45:12 +01:00
Alessandro Decina
ad00f4a0e2
coremediabuffer: set ->pixel_buf for CVPixelBuffer buffers
...
Fix a bug for which we never actually set ->pixel_buf to non-NULL for
CVPixelBuffer buffers.
2014-11-12 15:40:30 +01:00
Alessandro Decina
a1cc1b34e1
vtenc: fix compilation on < 10.9
2014-11-12 10:00:11 +01:00
Alessandro Decina
bc7dbd7b51
vtenc: enable the hw encoder on OSX
2014-11-11 18:01:54 +01:00
Sebastian Dröge
e47dbaed07
decklinksink: Check the correct variable for failure
...
If we can't get an output, we would otherwise just use it later and crash.
2014-11-11 12:00:30 +01:00
Sebastian Dröge
98b856d630
avfvideosrc: Don't pretend to support reconfiguration
...
We will run into an assertion in set_caps() if we try to change
caps while the source is already running. Don't try to find new
caps in GstBaseSrc::negotiate() to prevent caps changes.
2014-11-09 10:41:52 +01:00
Alessandro Decina
1d97516731
vtenc: add realtime and allow-frame-reordering properties
2014-11-07 00:22:08 +01:00
Tim-Philipp Müller
f216b7bb11
Sprinkle some G_PARAM_DEPRECATED and #ifndef GST_REMOVE_DEPRECATED
2014-11-02 17:19:34 +00:00
Tim-Philipp Müller
95c211dc49
Add some missing G_END_DECLS
2014-10-28 21:42:31 +00:00
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
Sebastian Dröge
0b34cde46e
vtdec: Fix compilation on iOS 8.0
2014-09-13 20:49:16 +03:00
Edward Hervey
562880bef9
dvbsrc: Use proper variable for delivery system
...
We want to check the delivery system is ISDBT (and not the modulation
which we check later in that case).
CID #1238439
2014-09-12 14:49:44 +02:00
Tim-Philipp Müller
7b8bd35d18
Fix up one-element lists in template caps
2014-09-10 17:24:39 +01:00
Tim-Philipp Müller
ffe59820d8
avfvideosrc: fix bogus BGRA caps
...
Remove 0.10-style endianness/*_mask/bpp/depth fields.
2014-09-10 16:38:52 +01:00
Reynaldo H. Verdejo Pinochet
10ece74f10
dvbsrc: retry opening the frontend on EINTR
2014-09-07 17:39:51 -03:00
Reynaldo H. Verdejo Pinochet
071f93c72f
dvbsrc: assorted doc & spelling fixes
2014-09-07 17:39:51 -03:00
Reynaldo H. Verdejo Pinochet
641e0e973e
dvbsrc: simplify ISDB-T launch line example
2014-09-02 18:06:53 -04:00
Reynaldo H. Verdejo Pinochet
1adc34cc03
dvbsrc: delay locking till actually needed
...
Get rid of unneeded locking at prop setting by doing
it only when tuning the frontend at _tune_fe()
2014-09-02 17:11:40 -04:00
Sebastian Dröge
f5e73d2808
amcaudiodec: Remove hack for Google MP3 decoder
...
The first buffer does not contain more garbage than any other MP3 decoder
outputs and we don't really know how much we have to drop or not.
After this change the output has the same duration as with mad.
2014-09-01 17:44:04 +03:00
Reynaldo H. Verdejo Pinochet
cd73c776f2
dvbsrc: fix description for modulation prop
2014-08-29 19:38:00 -04:00
Reynaldo H. Verdejo Pinochet
17beaed35f
dvbsrc: add basic checks on ISDB-T parameters
...
Also add a routine for checking wrong delsys/modulation
combinations right before tuning (only implemented for
ISDB-T for now).
2014-08-29 19:38:00 -04:00
Reynaldo H. Verdejo Pinochet
fd64a75926
dvbsrc: add support for additional modulation types
2014-08-29 19:38:00 -04:00
Reynaldo H. Verdejo Pinochet
a0c79bc72b
dvbsrc: drop FIXME on _ISDBT_LAYER_ENABLED prop
...
Valid values range from 1 to 7 as stated.
DTV_ISDBT_LAYER_ENABLED bitmask is built from
OR-ing 0x1 0x2 0x4. If all bits are set
(0x00000111 = 7) it means all layers should be
demodulated.
2014-08-29 19:38:00 -04:00
Sebastian Dröge
8f25220b9c
androidmedia: Make sure to unblock any thread waiting on the drain condition variable when errors happen
2014-08-14 15:27:21 +03:00
Sebastian Dröge
ca62186797
androidmedia: Fix draining logic to let the base class handle EOS events
...
https://bugzilla.gnome.org//show_bug.cgi?id=734775
2014-08-14 15:27:21 +03:00
Reynaldo H. Verdejo Pinochet
17181bfe16
dvbbasebin: fix parsing of freqs in some ZAP files
...
Change avoids attempting to convert to kHz if unneeded.
There are quite some ZAP format variants out there. Among
their subtle little differences, some store transponder
frequencies in Mhz and others in kHz. The latter been the
most common variant.
2014-08-13 13:10:04 -04:00
Reynaldo H. Verdejo Pinochet
d314a3a591
dvbsrc: get rid of remaining trailing whitespace
2014-08-13 13:10:04 -04:00
Reynaldo H. Verdejo Pinochet
98cc508557
dvbsrc: wrap around known-interruptible ioctls
...
Also get rid of the asumption that some requests like
FE_SET_TONE or FE_SET_VOLTAGE only error out with -1
2014-08-13 13:10:04 -04:00
Reynaldo H. Verdejo Pinochet
4f10ab0671
dvbsrc: drop gst_dvbsrc_retry_ioctl for retry macro
...
LOOP_WHILE_EINTR macro makes it easier to handle
assorted ioctl argp types. Functionality is otherwise
equivalent.
2014-08-13 13:10:04 -04:00
Reynaldo H. Verdejo Pinochet
23fccad1fd
dvbsrc: dvbbasebin: add 'tune' signal
...
It works the same as the 'tune' property that is used only to signal
the element that it should tune, but it is more natural to be used
as a signal rather than a property.
It is also proxied at the dvbbasebin element
2014-08-13 13:10:03 -04:00
Sebastian Rasmussen
078958bd6b
pvrvideosink: Avoid leaking bufferpool configuration
...
gst_buffer_pool_get_config() returns a copy to the bufferpool's
configuration, which must be passed to gst_structure_free() after
use if not given away to gst_buffer_pool_set_config().
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734537
2014-08-10 12:19:50 +01:00
Sebastian Rasmussen
6d151843ef
directsoundsrc: Avoid leaking copy of caps object
...
gst_pad_get_pad_template_caps() returns a reference which is unreferenced,
so creating a copy using gst_caps_copy() results in a reference leak.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734536
2014-08-10 12:16:08 +01:00
Sebastian Rasmussen
b323fba934
vtenc: Avoid leaking caps object and its copy
...
gst_pad_get_pad_template_caps() returns a reference which is unreferenced,
so creating a copy using gst_caps_copy() results in a reference leak. Also
the caps are pushed as an event downstream, but this doesn't consume the
caps so it must still be unreferenced.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734534
2014-08-10 12:13:48 +01:00
Sebastian Rasmussen
c1d5aa3da5
amcvideoenc: Avoid leaking copy of caps object
...
gst_pad_get_pad_template_caps() returns a reference which is unreferenced,
so creating a copy using gst_caps_copy() results in a reference leak.
Also remove the incorrect comment to avoid confusion in the future.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734533
2014-08-10 12:11:10 +01:00
Reynaldo H. Verdejo Pinochet
3e5c56e5fb
dvbsrc: remove srcpad leftover
...
The element is inheriting its srcpad from basesrc
2014-08-03 19:13:36 -04:00
Sebastian Dröge
a680867761
decklinksink: Initialize pixel format to bmdFormat8BitYUV
...
https://bugzilla.gnome.org/show_bug.cgi?id=725871
2014-08-01 18:02:10 +02:00
Sebastian Dröge
fd793e9498
decklinksink: Catch errors during data flow and error out properly
...
Otherwise we will just deadlock the thread if e.g. scheduling a video
frame fails for whatever reason.
2014-08-01 16:59:42 +02:00
Sebastian Dröge
a8f94fe1e1
decklink: 59.94fps is 60000/1001, not 30000/1001
...
And also change 30/1 to 60/1 for one 60fps mode.
2014-08-01 12:39:47 +02:00
Reynaldo H. Verdejo Pinochet
d17203d26a
dvbsrc: clarify units for freq and symbol-rate
2014-07-28 00:05:57 -04:00
Reynaldo H. Verdejo Pinochet
01e7e36217
dvbsrc: add preliminary support for ISDB-T/Tb
...
ISDB-T and ISDB-Tb (the Brazilian variant) are the
terrestial DTV standards used by Japan, Philippines,
Maldives, Thailand, most South American countries
and Botswana. Changeset adds the set of previously
missing (and required) ISDB-T parameters, adapter
and frontend setup logic and proxies the new
properties on dvbbasebin.
Tested to work with the live aerial broadcast by
Tv Paraíba HD in Campina Grande (Brazil).
https://bugzilla.gnome.org/show_bug.cgi?id=732875
2014-07-28 00:05:38 -04:00
Reynaldo H. Verdejo Pinochet
8391112af5
dvbsrc: make slof/lof1/lof2 settable properties
...
Allows proper tuning around high/low band boundaries when using
non "standard" LNBs.
Not all LNBs (Low noise block down converters) are made equal.
This is particularly true for universal LNBFs, where, even though
there are seemingly standard values for the local oscillator
frequencies, these can vary from manufacturer to manufacturer
and LNB model. Change also proxies the new LNB properties in
dvbbasebin.
https://bugzilla.gnome.org/show_bug.cgi?id=732818
2014-07-28 00:05:18 -04:00
Sebastian Dröge
8d5217141a
openslesringbuffer: Provide the size of our array to GetDestinationOutputDeviceIDs
...
Otherwise it does not and just fails. It needs to know the size of the
array to not write too much to it.
2014-07-17 00:18:41 +02:00
Sebastian Dröge
fe42739a3e
openslessink: Silence some error debug output to log output
...
These are not really errors, just unsupported features we don't
necessarily need.
2014-07-17 00:18:41 +02:00
Sebastian Dröge
4ec87d9690
d3dvideosink: Open Direct3D devices in a threadsafe way
...
Otherwise we'll get crashes when using the device from multiple
threads, e.g. when using multiple sinks at once.
https://bugzilla.gnome.org/show_bug.cgi?id=707523
2014-07-15 13:30:16 +02:00