Edward Hervey
634d29cd88
mpegtsbase/tsdemux: Fix stream/pad activation order
...
We first activate new streams before shutting down old ones.
We emit no-more-pads after we add new streams and emit EOS before
removing old ones.
Also cleanup/refactor a bit more of the code accordingly
2011-07-25 18:56:49 +02:00
Raluca Elena Podiuc
b50d50a9c2
camerabin2: add location=NULL docs to PORTING
...
https://bugzilla.gnome.org/show_bug.cgi?id=641918
2011-07-25 10:32:51 -03:00
Thiago Santos
a34ea4aaae
camerabin2: If location is NULL do not encode images
...
Using a NULL string for location means that the application
doesn't want the image to be encoded, but wants to receive
the preview image. (Only works for image captures)
Useful for application that want the capture in memory only, like
displaying to the user before it choses to encode or take another
picture in avatar capturing scenarios.
https://bugzilla.gnome.org/show_bug.cgi?id=641918
2011-07-25 10:32:51 -03:00
Edward Hervey
d0e8427b4e
pesparse: Fix stuffing byte handling
...
We in fact get the size of the header (including stuffing bytes), therefore
use that instead of trying to skip 0xff bytes ourselves since some media
streams do start with 0xff (like mpeg audio's initial 0xfff).
2011-07-20 19:19:13 +02:00
Alessandro Decina
2b7e9abc59
mpegtsdemux: fix compiler warnings
2011-07-20 08:59:25 +02:00
Edward Hervey
a960e72efa
mpegtsbase/tsdemux: Add more comments and removal unused variable
2011-07-19 09:49:40 +02:00
Edward Hervey
2b127601e9
mpegtsbase: Avoid double removal of streams
...
This can happen if the PCR pid is the same as a audio/video PID.
2011-07-19 09:49:40 +02:00
Edward Hervey
b170b2020c
mpegtsbase: Add a GList of streams to the program
...
Allows faster iteration of all program streams.
We still keep the Array to allow fast retrieval of stream by PID.
2011-07-19 09:49:40 +02:00
Edward Hervey
dc18e2b16d
mpegtsbase: Use a bit array instead of an array of gboolean
...
Makes know_psi and is_pes 32 times smaller
2011-07-19 09:49:39 +02:00
Sebastian Dröge
beea027d19
pcapparse: Fix format string compiler warning
2011-07-19 08:37:24 +02:00
Alessandro Decina
f12598fa64
h264parse: remove a check made useless by the last commit
2011-07-18 11:51:23 +02:00
Alessandro Decina
5f6a805dfd
h264parse: assume byte-stream if stream-format and codec_data are missing from input caps
2011-07-18 11:50:41 +02:00
Alessandro Decina
7bcc0c71b8
h264parse: ignore codec_data if stream-format=byte-stream
...
Some encoders set codec_data even when outputting byte-stream. Before this patch
h264parse would incorrectly detect such streams as AVC.
2011-07-18 11:50:41 +02:00
Edward Hervey
177e00f809
tsdemux: Use standalone PES parser
2011-07-18 09:13:15 +02:00
Edward Hervey
6f9a6cc2ba
mpegtsdemux: Add standalone PES parser
2011-07-18 09:13:14 +02:00
Edward Hervey
42cf7d016c
mpegdefs: clarify some stream ids
2011-07-17 09:49:06 +02:00
Edward Hervey
f6f885ddb8
tsdemux: whoops, tsdemux isn't ready yet for primary rank :)
2011-07-16 13:51:44 +02:00
Edward Hervey
a00900367a
mpegtsbase/tsdemux: Cleanups and comments
2011-07-16 13:47:45 +02:00
Edward Hervey
9f1511e998
tsdemux: Fix newsegment creation for push mode
...
And all relevent comments to what it should be doing, refactor everything
a bit. Still not perfect ... but better.
Fixes #654657
2011-07-16 13:44:00 +02:00
Edward Hervey
b73679e13d
mpegtsbase: Store incoming newsegments
2011-07-16 12:27:50 +02:00
Tim-Philipp Müller
f054eab77e
tagmux: const-ify GstTagList argument of render vfuncs
2011-07-15 20:57:47 +01:00
Tim-Philipp Müller
1c3229307e
tagmux: fix up private base class header so it can be made public
...
Move private bits into a private struct, add some padding.
https://bugzilla.gnome.org/show_bug.cgi?id=555437
2011-07-15 20:42:28 +01:00
Mark Nauwelaerts
01cf66b642
pcapparse: rename offset property to ts-offset
...
... so as to promote consistency with some other elements in the wild.
2011-07-15 10:05:24 +02:00
Alessandro Decina
d439f2d38d
mpegtsbase: actually set seen_pat=TRUE when we see a PAT
2011-07-15 00:03:52 +02:00
Edward Hervey
a82483e367
mpegtsbase: Split up whether we saw a PAT and its offset
...
Fixes the issue with streams that don't set an offset on their buffers,
like those coming from hlsdemux.
Fixes #653481
2011-07-14 22:10:27 +02:00
Mark Nauwelaerts
592d7cbc15
pcapparse: properly apply ts offset
2011-07-14 17:07:04 +02:00
Mark Nauwelaerts
671a9faad6
pcapparse: optionally output relative timestamps, possibly shifted by offset
...
That is, output timestamps can then either be the absolute capture time,
or the relative capture time (w.r.t. to first output buffer), or the relative
capture time incremented by some offset.
2011-07-14 16:54:39 +02:00
Mark Nauwelaerts
93af6831e2
pcapparse: also support extracting tcp data
2011-07-14 16:54:37 +02:00
Olivier Crête
4fffbd2cd0
mpegvideoparse: Restore some unused variables as comments
2011-07-13 13:42:09 -04:00
Olivier Crête
ca7a512739
mpegtsdemux: Restore erroneously removed data++
...
Also, put back some unused code in comment and replace // comments by /* */
2011-07-13 13:39:54 -04:00
Olivier Crête
ad97807497
mpegdemux: Restore erroneously removed data++
...
Also, put back some unused code in comment and replace // comments by /* */
2011-07-13 13:38:31 -04:00
Olivier Crête
f4caf95a15
videomeasure: Fix set-but-unused warnings
2011-07-12 18:11:32 -04:00
Olivier Crête
8f6b55f920
tta: Fix set-but-unused warnings
2011-07-12 18:09:26 -04:00
Olivier Crête
b44cb0a048
sdi: Fix set-but-unused warnings
2011-07-12 18:08:45 -04:00
Olivier Crête
0b6cc7eb96
rtpvp8: Reject unknown bitstream versions
2011-07-12 18:03:53 -04:00
Olivier Crête
9eba99542f
videoparsers: Fix set-but-unused warnings
2011-07-12 17:59:56 -04:00
Olivier Crête
c1f432ee18
pcapparse: Fix set-but-unused warnings
2011-07-12 17:57:45 -04:00
Olivier Crête
35f85f978e
mpegvideoparse: Fix set-but-unused warnings
2011-07-12 17:56:25 -04:00
Olivier Crête
d7a774cc44
mpegdemux: Fix unused-but-set warnings
2011-07-12 17:53:33 -04:00
Olivier Crête
dcd54fced1
mpegtsdemux: Fix unused-but-set warnings
2011-07-12 17:50:27 -04:00
Sameer Naik
666807ed69
mpegtsmux: fix segfault if gst_collect_pads_pop () returns no buffer
...
In mpegtsmux_choose_best_stream () call if the gst_collect_pads_pop () call
returns no buffer (NULL), the plugin SegFaults in the gst_buffer_unref call.
To fix this we check if a valid buffer is returned before calling
gst_buffer_unref ().
Fixes bug #654416 .
2011-07-12 07:51:21 +02:00
Sebastian Dröge
6f2c2609ac
mxfdemux: Properly return seeking errors if the requested position can't be found
2011-07-08 11:52:17 +02:00
Stefan Kost
0a7e6e4002
inter: add ignore file for intermediate files
2011-07-08 00:11:37 -07:00
Stefan Kost
1b103d259d
camerabin2: don't mess with camerabin (1) namespace
...
Use an extra '2' to stay out of the old namespace.
2011-07-08 00:11:37 -07:00
Stefan Kost
266a57d77b
scaletempo: improve the docs
...
Fix the syntax, add more explanation and xref the properties.
2011-07-08 00:11:37 -07:00
David Schleef
f21e36b54b
diracparse: make diracparse work correctly
2011-07-04 16:49:00 -07:00
David Schleef
e9f0e27596
inter: new intermediate surface plugin
...
This set of elements allows easily rendering audio and video to
an intermediate surface that is then used as a source in a different
pipeline.
2011-07-04 16:47:50 -07:00
David Schleef
2573de1062
colorspace: Add JPEG YCbCr matrix
2011-07-04 16:47:49 -07:00
David Schleef
3de8284efd
y4mdec: Fix buffer duration
2011-06-26 19:29:55 -07:00
David Schleef
40ee3369a0
tta: decrease rank to NONE
...
Appears to be utterly incapable of parsing and decoding TTA streams.
Hasn't been updated to do TTA2. If you want this element to work,
fix the bloody thing. The gst-ffmpeg decoder works fine.
Also fixed an obvious endianness issue along the way.
Fixes : #652924
2011-06-25 15:12:45 -07:00
Tim-Philipp Müller
2b2e6fbdea
camerabin2: don't use GLib 2.28 API
...
Don't use GLib 2.28 API, we still only require >= 2.24.
2011-06-23 20:11:55 +01:00
Thiago Santos
e19a488bce
camerabin2: Set tagsetters to merge replace mode
...
The default for tagsetters is to use merge keep mode, so tags
would never be replaced and all captures would have the same tags.
This commit watches all elements added into encodebin and sets
all tagsetters to merge replace mode
2011-06-23 00:05:13 -03:00
Thiago Santos
f1fa6c6531
camerabin2: Use a single location for both modes
...
Implement the location property just like it works in camerabin, the
same location is used for both images and videos
2011-06-23 00:05:13 -03:00
Thiago Santos
f31554bc4f
camerabin2: Send serialized custom events for filename changes in image sink
...
Using serialized custom events for switching image capture saving
location makes camerabin2 save each capture correctly to the location
that was set during the moment start-capture was called, and not
the moment the filesink was writing to disk.
This prevents captures to be overwriten by racyness among start-capture
and setting location for images.
2011-06-23 00:05:13 -03:00
Thiago Santos
a33eae1a65
camerabin2: No need to change state of the whole image branch
...
We only need to change the state of the filesink to switch its
saving location. This might still cause some problems of dropping
captured buffers, but it is better than changing the state of
the whole branch.
2011-06-23 00:05:13 -03:00
Thiago Santos
b1b0082cdb
camerabin2: Use names for image and video encodebin
...
Naming encodebins as image-encodebin and video-encodebin to make
it easier for debugging camerabin2.
2011-06-23 00:05:13 -03:00
Thiago Santos
e23e5380d3
camerabin2: Remove unused variable
2011-06-23 00:05:13 -03:00
Thiago Santos
ac2d5821b3
camerabin2: Minor debug message fix
2011-06-23 00:05:13 -03:00
Mark Nauwelaerts
eca1614f08
legacyh264parse: create correct avc codec-data
...
Fixes #653013 .
2011-06-22 10:13:55 +02:00
Mark Nauwelaerts
d631e1b348
legacyh264parse: fix output caps alignment for avc input
...
... particularly when splitting packetized input.
Fixes #652995 .
2011-06-21 12:46:41 +02:00
Mark Nauwelaerts
10bec5c08f
h264parse: avc input must either pass-through or be split into bytestream chunks
...
... since parsing code is not meant to receive avc data.
Fixes #653087 .
2011-06-21 12:46:37 +02:00
Mark Nauwelaerts
160207abb9
h264parse: avoid bogus frame parsing state
2011-06-21 12:46:35 +02:00
Thiago Santos
ca8ea19cc3
tsdemux: only free the index array if it exists
...
Only free the array if it exists.
Contains an unrelated indentation fix, courtesy of gst-indent
2011-06-17 16:18:03 -03:00
Mark Nauwelaerts
6429ead4bc
debugutils: add compare element
2011-06-17 12:10:06 +02:00
Mark Nauwelaerts
a1f5b2e0cc
colorspace: fix odd width and height handling in some fastpath cases
2011-06-17 12:07:34 +02:00
Edward Hervey
c27b16bfe3
videoparsers: Speed up the start code search algorithm
...
Based on 96a7f9c8b1
Makes it 3-4 times faster
2011-06-12 12:55:40 +02:00
Edward Hervey
7032cd12e7
videoparsers: Fix sink pad template
...
no wonder it was never picked up ...
2011-06-12 12:40:15 +02:00
Edward Hervey
b3ef72f2eb
tsdemux: Don't free unexistent PAT
...
And cleanup find_timestamps a bit
2011-06-12 11:27:30 +02:00
Edward Hervey
e1a7d71184
tsdemux: More fixes to handle non-188 byte packets
2011-06-07 20:50:35 +02:00
Edward Hervey
6c0254b84b
mpegts: Stop scanning for keyframes as early as possible
2011-06-07 20:50:35 +02:00
Janne Grunau
ae2e7624d6
mpegtsdemux: always try to seek for to a keyframe
...
keyframe is expected to lie in the the next ~2500 ms
2011-06-07 20:50:35 +02:00
Janne Grunau
9352cfc478
mpegtsdemux: fix timestamps in newsegement event after seeking
2011-06-07 20:50:34 +02:00
Janne Grunau
cde65d6d6e
mpegtsdemux: payload parsing for H.264
2011-06-07 20:50:34 +02:00
Janne Grunau
ff15d6fa80
mpegtsdemux: implement key_unit seeking for MPEG2 video
2011-06-07 20:50:34 +02:00
Janne Grunau
3ce1ec7c9c
mpegtsdemux: accurate seeking
...
* pes header parsing for pts is ugly, refactor
* timestamps/newsegment after seeking is still off
2011-06-07 20:50:34 +02:00
Janne Grunau
15391b29e1
mpegtsdemux: push based seeking based on PCR
...
buffer timestamps are converted to GstClockTime to cover pcr/pts wraps.
multiple pcr/pts wraps are handled with an index which ensures at most
a single pcr wraparound between two entries.
the last seen pcr is recorded to have a nearby index point for short seeks
resuming playback might be delayed if the postion is not a keyframe
TODO: replace manual packet scanning and parsing in the initial duration estimation
2011-06-07 20:50:34 +02:00
Janne Grunau
f89a0abca0
mpegtsdemux: create function for pcr parsing
2011-06-07 20:50:34 +02:00
Janne Grunau
37f1decf78
mpegtsdemux: adaptation field length == 0 is valid
...
it can be used to insert a single stuffing byte
do not parse the following payload as adaptation field
2011-06-07 20:50:34 +02:00
Stefan Kost
f7fe0c9e6f
baseaudiovisualizer: fix last block condition
...
Also push out the last frame if we have exact amount of samples. Fix the adapter
flushing to not cause endless loops. Drop a redundant avail() check.
2011-06-06 15:25:14 +03:00
Stefan Kost
594134d139
audiovisualizers: add a README with comments and plans
2011-06-06 15:25:14 +03:00
Stefan Kost
f66a88bc70
audiovisualizers: remove some not needed boilerplate
2011-06-06 15:25:14 +03:00
Stefan Kost
0a41b9084e
audiovisualizers: add a spacescope element
...
Add another element that maps left/right channel to x,y coordinates.
2011-06-06 15:25:14 +03:00
Stefan Kost
9936332f0a
synaescope: tweak the algorithm
...
Speed-up the calculation a bit. Keep a few values as doubles. Tune the scaling
to get nices colors.
2011-06-06 15:25:14 +03:00
Stefan Kost
0fd078f156
audiovisualizers: doc-blob and comment updates
2011-06-06 15:25:14 +03:00
Stefan Kost
8b1b28dbc0
audiovisualizers: rename baseclass from basescope to baseaudiovisualizer
2011-06-06 15:25:14 +03:00
Stefan Kost
45464a038e
audiovisualizers: rename scopes plugin to audiovisualizers
2011-06-06 15:25:13 +03:00
Stefan Kost
92d36cdbfe
scopes: fix elements descriptions
2011-06-06 15:25:13 +03:00
Stefan Kost
7cee23a419
spectrascope: use add_pixel for non-white pixels
...
https://bugzilla.gnome.org/show_bug.cgi?id=651536
2011-06-06 15:25:13 +03:00
Stefan Kost
b4afe9f690
scopes: add a new element similar to synaesthesia
...
https://bugzilla.gnome.org/show_bug.cgi?id=651536
2011-06-06 15:25:13 +03:00
Stefan Kost
08ecb1acc0
scopes: draw pixels with signle 32bit writes
...
https://bugzilla.gnome.org/show_bug.cgi?id=651536
2011-06-06 15:25:13 +03:00
Stefan Kost
2d101863dc
basescope: add more shading effects
...
https://bugzilla.gnome.org/show_bug.cgi?id=651536
2011-06-06 15:25:13 +03:00
Stefan Kost
efe9f3328d
basescope: add a property to modify the ammount of shading
...
Add another property to specify the shading per color channel. Fix endianess
issues in the shading code.
https://bugzilla.gnome.org/show_bug.cgi?id=651536
2011-06-06 15:25:13 +03:00
Stefan Kost
2cd10856d0
basescope: add a backbuffer and apply shading effects
...
Keep the last frame and apply shade and geometry effects. Expose the shading
effects as a controllable gobject property on the baseclass.
https://bugzilla.gnome.org/show_bug.cgi?id=651536
2011-06-06 15:25:13 +03:00
Stefan Kost
2271946d73
basescope: allow subclasses telling how many sample they need per frame
...
This allows e.g. FFT based elements to require enough data. If they need more
data than what we get, we flush less from the adapter.
https://bugzilla.gnome.org/show_bug.cgi?id=651536
2011-06-06 15:25:13 +03:00
Stefan Kost
46e3bc48af
basescope: remove some comments
...
Those comments where pointing to example calls that we do in the subclass.
https://bugzilla.gnome.org/show_bug.cgi?id=651536
2011-06-06 15:25:13 +03:00
Stefan Kost
a83b706c12
scopes: add a simple fft based scope
...
Add a 2nd demo scope that uses a fft.
https://bugzilla.gnome.org/show_bug.cgi?id=651536
2011-06-06 15:25:13 +03:00
Stefan Kost
439c7c47e5
scopes: first version of a scopes plugin using a new baseclass
...
Add a new baseclass for writing visualisation plugins. Provide a simple wave
oscilloscope as a first subclass.
https://bugzilla.gnome.org/show_bug.cgi?id=651536
2011-06-06 15:25:13 +03:00
Edward Hervey
813ac7bb2d
mpegvideoparse: Avoid double scanning of pictures
...
The incoming data has already been scanned in mpeg_packetizer_add_buf.
We can therefore stop scanning for picture data as soon as we've parsed
the header. Makes mpegvideoparse 2 times faster.
https://bugzilla.gnome.org/show_bug.cgi?id=648933
2011-06-06 12:44:58 +02:00
David Schleef
48d5fc3c4b
invtelecine: Remove in favor of fieldanalysis
2011-06-05 10:37:10 -07:00
David Schleef
7b12d4647a
Work around changes in g_atomic API
...
See #651514 for details.
2011-06-04 14:09:30 -07:00