Mark Nauwelaerts
2953801a5f
rtpamrpay: properly support perfect-rtptime
2010-09-06 14:47:05 +02:00
Mark Nauwelaerts
275e352a2e
rtpamrpay: proper duration for multiple frame payload
2010-09-06 14:47:02 +02:00
Mark Nauwelaerts
f5bbc56745
rtpamr(de)pay: support AMR-WB SID frame
2010-09-06 14:46:59 +02:00
Mark Nauwelaerts
d1974e386a
rtpg729pay: properly support perfect-rtptime
2010-09-06 14:46:56 +02:00
Mark Nauwelaerts
713719f705
qtdemux: improve framerate determining
...
Collect a limited number of starting sample durations and use the median of
those to determine caps framerate.
2010-09-06 14:45:43 +02:00
Mark Nauwelaerts
13b553bce7
matroskademux: attempt more resync upon (cluster) parse error
...
That is, if parse error occurs in state requiring to move to next cluster,
and doing so to the expected next position of cluster fails, then scan for a
next cluster from present position and resume from there.
Fixes #620790 .
2010-09-06 14:45:40 +02:00
Mark Nauwelaerts
4d9c1e99f2
matroskademux: not so fatal error handling
...
If some bits out of place in block(group) parsing, forego and move to next.
Also skip large blocks in pull mode, but need to give up in push mode.
Fixes #626463 .
Improves #620790 .
2010-09-06 14:45:37 +02:00
Mark Nauwelaerts
680eb51b68
matroskademux: additional parse recovery
...
In particular, upon parse failure in one cluster, we may forego remaining
content and try resuming from next cluster onwards.
Fixes #620790 .
2010-09-06 14:45:30 +02:00
American Dynamics
5999e8e716
rtspsrc: Add property to configure udpsrc buffer size
...
Add a new udp-buffer-size property to configure the buffer-size on the udpsrc
elements.
Fixes #628058
2010-09-06 12:22:11 +02:00
Wim Taymans
93228ccd52
rtpbin: add ntp-sync property
...
Add an ntp-sync property that will sync the received streams to the server
NTP time. This requires synchronized NTP times between the sender and receivers,
like with ntpd.
Based on patch from Thijs Vermeir.
Fixes #627796
2010-09-06 11:01:57 +02:00
Wim Taymans
f03fd91400
jitterbuffer: rename a variable to avoid confusion
2010-09-06 11:01:57 +02:00
Wim Taymans
e3479630ae
rtpbin: rename some variables for less confusion
2010-09-06 11:01:57 +02:00
Wim Taymans
0f59664c6a
rtpjitterbuffer: move comment where it belongs
2010-09-06 11:01:57 +02:00
Wim Taymans
4fd81747f3
session: minor cleanups
...
Make clock snapshots more accurate by only sampling the same clock once.
2010-09-06 11:01:57 +02:00
Thijs Vermeir
51020549f0
rtpbin: add use-pipeline-clock property
...
With this property RTCP SR NTP times can be based
on the system clock (maybe synced with ntpd) or the
current pipeline clock.
https://bugzilla.gnome.org/show_bug.cgi?id=627796
2010-09-06 11:01:57 +02:00
Wim Taymans
3bae70ceea
rtspext: stop configuration on first failure
...
Stop the configuration of a stream as soon as some of the extensions return
FALSE.
Fixes #581294
2010-09-06 11:01:57 +02:00
Wim Taymans
6660817af1
multifdsink: use refcount to count host/port duplicates
...
Instead of adding multiple client structures for the same host/port pair, use a
refcount.
Add a send-duplicates feature that allows you to disable sending multiple copies
of the same packet to the same host when it was added multiple times. The
send-duplicates property is by default set to TRUE for backwards compatibility
although it is very likely that this is not desired behaviour.
2010-09-06 10:45:28 +02:00
Wim Taymans
e4f8144bbf
rtspsrc: implement custom event handler
...
Extend the _push_event() function so that it can also send events to the udp
sources when asked.
Implement a custum send_event function that correctly dispatches the downstream
events in TCP mode. This fixes sending EOS to rtspsrc and have it push the EOS
downstream.
2010-09-06 10:45:23 +02:00
Wim Taymans
fadade4d4a
jpegdepay: handle DISCONT and reset state
...
Put a DISCONT event on the next output buffer when the input buffer had a
DISCONT.
Make sure we clear our adapter and reset our state before going to PAUSED.
Free the qtables.
Fixes #626869
2010-09-06 10:23:07 +02:00
Wim Taymans
3ec0d6b245
g729pay: extend from right parent
2010-09-06 10:23:07 +02:00
Stefan Kost
3b91ea7c81
qtdemux: use GST_BOILERPLATE macro
2010-09-06 09:57:58 +03:00
Stefan Kost
1c47115b8e
videmixer: add a example showing how to use the child properties
...
Show how to position and set the alpho of the videos on gst-launch.
2010-09-06 09:57:57 +03:00
Stefan Kost
77fe8c151a
spectrum only aggregate magnitude/phase if user asks for it
2010-09-06 09:53:00 +03:00
Stefan Kost
0dca0becb2
spectrum: improve performance with local vars
...
Use 'input' instead of 'spectrum->input' which was intende already (variable
exists, but not used everywhere). Also use a local version of
'spectrum->input_pos'.
2010-09-06 09:53:00 +03:00
Stefan Kost
8beead14d0
spectrum: code cleanup
...
More comments and logging. Extract one complex condition to a variable. Reorder
some code for readability.
2010-09-06 09:53:00 +03:00
Stefan Kost
50a139de85
spectrum: improve property setter
...
consistently only update if the property actualy changed the value. Do it
without reading the gvalue twice. No need to reset the spectrum analyzer for
threshold changes.
2010-09-06 09:53:00 +03:00
Stefan Kost
61f22f4379
spectrum: add helper to only flush ringbuffer data without resetting the fft
...
Reduces some duplicated code as well.
2010-09-06 09:53:00 +03:00
Stefan Kost
34bdec3d58
spectrum: more comments
2010-09-06 09:53:00 +03:00
David Schleef
738e092d4e
deinterlace: Document methods with bad quality
2010-09-05 22:23:58 -07:00
David Schleef
9071cc8748
deinterlace: initialize all deinterlace class members
...
This fixes UYVY deinterlacing.
2010-09-05 22:23:58 -07:00
David Schleef
85aed94676
videomixer: orc_init() doesn't need to be called
...
There's no need to call orc_init() unless you're using the Orc
API directly. All code created by orcc is guaranteed to work
without calling orc_init().
2010-09-05 18:45:21 -07:00
David Schleef
6143a60bdb
deinterlace: Fix greedyl Orc implementation
...
To agree with the previous C/asm code.
2010-09-05 18:42:59 -07:00
Thiago Santos
de8fda9cc2
videomixer2: Fail when caps are incompatible
...
Do not forget to return false when caps are incompatible.
2010-09-05 22:34:36 -03:00
Thiago Santos
8435529073
videomixer: Only init orc if it is available
...
Put some ifdef around orc_init to prevent build errors
2010-09-05 20:56:52 -03:00
David Schleef
6584c75afe
deinterlace: Update disted Orc files
2010-09-04 12:46:31 -07:00
David Schleef
f35d546c71
deinterlace: remove assembly code in favor of orc
2010-09-04 12:39:11 -07:00
David Schleef
02196850dd
deinterlace: implement greedy in Orc
2010-09-04 12:39:11 -07:00
David Schleef
294d5c48da
update disted Orc files
2010-09-04 11:43:21 -07:00
Thibault Saunier
08fd719898
alphacolor: Fix classification
...
This is no effect but a converter. Fixes bug #628608 .
2010-09-04 14:55:43 +02:00
Sebastian Dröge
e79742205c
videomixer2: Add documentation and add to the docs
2010-09-04 14:55:43 +02:00
Sebastian Dröge
bcfd60a8d2
videomixer2: Add videomixer2 element
...
This is based on collectpads2 and is synchronizing
all streams based on the running time.
New features compared to old videomixer:
* Synchronizing frames on the running time
* Improved and simplified negotiation
* Full QoS support
* Variable framerate support
Fixes bug #626048 , #624905 .
2010-09-04 14:52:11 +02:00
Pavel Kostyuchenko
6940559c46
matroskademux: Relax parsing of date tags
...
Before we required a complete date in matroskademux but in
id3demux for example only the year or year and month was possible too.
Fixes bug #628454 .
2010-09-04 14:52:11 +02:00
Sebastian Dröge
55a52262d3
wavparse: Don't use GST_FLOW_IS_FATAL()
2010-09-04 14:52:10 +02:00
Sebastian Dröge
d224251df4
rtspsrc: Don't use GST_FLOW_IS_FATAL() and GST_FLOW_IS_SUCCESS()
2010-09-04 14:52:10 +02:00
Sebastian Dröge
7fe34f3889
qtdemux: Don't use GST_FLOW_IS_FATAL()
2010-09-04 14:52:10 +02:00
Sebastian Dröge
e8743b3789
matroskademux: Don't use GST_FLOW_IS_FATAL()
2010-09-04 14:52:09 +02:00
Sebastian Dröge
1243b76df7
rndbuffersize: Don't use GST_FLOW_IS_FATAL()
2010-09-04 14:52:09 +02:00
Sebastian Dröge
78eca34a6d
flvdemux: Don't use GST_FLOW_IS_FATAL()
2010-09-04 14:52:09 +02:00
Sebastian Dröge
1ce0b2dfc7
avidemux: Don't use GST_FLOW_IS_FATAL()
...
And document why wrong-state doesn't need an error message.
2010-09-04 14:52:09 +02:00
Sebastian Dröge
77c7f5fdcd
videomixer: Update disted ORC files
2010-09-04 14:52:09 +02:00
Sebastian Dröge
6da14d0c41
videomixer: Optimize ARGB blending and implement BGRA blending with orc
...
This now means, that we have absolutely no handwritten assembly anymore
in videomixer and it's also faster now when using SSE.
2010-09-04 14:52:09 +02:00
David Schleef
7cfa519547
videomixer: Add orc implementation for blending
...
videomixer: Add orc implementation for blending
2010-09-04 14:52:08 +02:00
David Schleef
1ace738c3a
videomixer: Fix example pipelines
...
videomixer: Fix example pipelines
2010-09-04 14:52:08 +02:00
Sebastian Dröge
86403e85c5
imagefreeze: Fix another subtle race condition related to starting the srcpad task
...
Due to a seek the srcpad task could be started in rare circumstances although
it shouldn't be started anymore because no upstream buffer is available.
2010-09-04 14:52:08 +02:00
Sebastian Dröge
e51fe6c181
imagefreeze: Protect the flushing-seek variable by the srcpad's stream lock
...
This fixes a subtle race condition, that caused bufferalloc to fail
with wrong-state due to a seek but caused it to be not retried as
it should.
2010-09-04 14:52:08 +02:00
Sebastian Dröge
d8ef9bb691
imagefreeze: Always generate a perfectly timestamped stream
...
Before there could be rounding errors when calculating the duration,
resulting in timestamp + duration being smaller than the next buffer's
timestamp.
2010-09-04 14:52:07 +02:00
Sebastian Dröge
95f5b494fa
wavparse: Post an error message if EOS happens before valid input is found
...
Fixes bug #627341 .
2010-09-04 14:52:06 +02:00
Sebastian Dröge
44a5cb4313
avidemux: Send close newsegment event from the streaming thread
2010-09-04 14:52:06 +02:00
Sebastian Dröge
62dd7c4efd
imagefreeze: Retry bufferalloc if it was aborted with WRONG_STATE because of a flushing seek
2010-09-04 14:52:05 +02:00
Sebastian Dröge
dffab828c6
imagefreeze: Return GST_FLOW_UNEXPECTED when getting a second buffer
...
This prevents upstream from pushing many useless buffers and makes
it go into EOS state.
2010-09-04 14:52:05 +02:00
Sebastian Dröge
134b1f0eee
imagefreeze: Passthrough buffer allocations
2010-09-04 14:52:05 +02:00
Tim-Philipp Müller
b26897dd84
Release 0.10.25
2010-09-02 23:44:19 +01:00
David Schleef
4eee45debb
deinterlace: use separate buffer metadata for fields
...
Call gst_buffer_make_metadata_writable() on buffers that are
duplicated into fields. Fixes #627689 .
2010-08-23 02:51:24 -07:00
Sebastian Dröge
9e981f6c2d
0.10.24.4 pre-release
2010-08-21 21:41:36 +02:00
Sebastian Dröge
90f273b165
imagefreeze: Send close segments when seeking only for non-flushing seeks and if we already sent a newsegment event
...
Fixes bug #626619 .
2010-08-12 11:29:53 +02:00
Mark Nauwelaerts
8ea04c66b8
qtdemux: prevent reading past avc1 atom when parsing
...
... when one of the subatoms has a large/invalid size.
Fixes #626609 .
2010-08-11 12:58:17 +02:00
Sebastian Dröge
19c8226c6d
videomixer: Fix pipeline in the documentation
...
Make sure that we have the same color format on all streams, i.e. AYUV
Fixes bug #625452 .
2010-08-06 19:24:56 +02:00
Sebastian Dröge
fc00857c82
videomixer: Move debug categories into the source files and add debug category for the blend functions
2010-08-04 19:43:08 +02:00
Wim Taymans
af70b300cc
rtpmp4gpay: implement perfect timestamps
...
Use bitreader for parsing the config string
Reset state variables when going to READY
Parse frame length and use it to keep track of the rtptimestamps
2010-08-04 10:40:24 +02:00
Wim Taymans
29b32853d5
rtph263pdepay: allow more clock-rates as input
...
Although the spec says that the clock-rate should always be 90000, some rtsp
servers send different clock-rates so we must accept then in order to handle
those streams too.
2010-08-04 10:40:24 +02:00
Wim Taymans
d37c5e9021
L16depay: default to 1 channel
...
When we can't find any channel or encoding-params on the caps for dynamic
payload types, set the default number of channels to 1, as the spec says we
should.
See #623209
2010-08-04 10:40:24 +02:00
Wim Taymans
9dcfed0a5b
rtspsrc: don't reuse udp sockets
...
Don't reuse sockets but make the udpsrc element fail the state change when the
socket is already in use. If we don't prevent reuse, we might end up using the same
port for different streams in some cases.
Fixes #622017
2010-08-04 10:40:23 +02:00
Wim Taymans
e739998adf
udpsrc: add property to enable port reuse
2010-08-04 10:39:45 +02:00
Wim Taymans
ed80c1834c
L16depay: use encoding-params for the channels
...
When parsing the number of channels, use the encoding-params property from the
RTP caps because that is where we can find the channels according to the spec.
Fall back to the channels property in the caps when needed.
Fixes #623209
2010-08-04 10:39:44 +02:00
Wim Taymans
e39d7f7359
rtspsrc: improve error and warning message
...
Improve error and warning message.
Fixes #622577
2010-08-04 10:39:44 +02:00
Mark Nauwelaerts
f1fe0e7157
rtpg729pay: avoid basertppayload perfect-rtptime mode
...
G729 packets may only occur intermittently (e.g. cn packets), and as such
do not allow for perfect-rtptime calculating rtp times based on frame or byte
count. In particular, do not use rtp audio base payloader as base class, but
rather base payloader directly.
2010-08-02 13:05:05 +02:00
Mark Nauwelaerts
6405df0c50
rtph264pay: fix element leak
2010-08-02 13:04:41 +02:00
Mark Nauwelaerts
fadff26eec
rtpmp4vdepay: fix buffer leak
2010-08-02 13:04:39 +02:00
Mark Nauwelaerts
99dd8fb921
avidemux: push mode; use proper movi offset for movi based index
...
Fixes #623357 .
2010-07-29 17:19:22 +02:00
Thiago Santos
bef350bf34
qtdemux: Correctly parse mvhd atoms
...
Parse mvhd data according to its version to avoid failing
on valid files.
2010-07-29 10:00:15 -03:00
Thiago Santos
a15430a862
qtdemux: Fix the max/avg in btrt atom reading
...
According to ISO media base format, the max bitrate is the
first one, and the avg comes next.
2010-07-28 12:22:23 -03:00
Mark Nauwelaerts
8419df627b
matroskademux: proper handling of streaming upstream without duration
...
Fixes #625371 .
2010-07-28 14:45:25 +02:00
Tim-Philipp Müller
a0de5e8a4f
matroskademux: initialize some variables to fix compiler warnings on OSX build bot
2010-07-26 18:33:09 +02:00
Arnaud Vrac
c6f47c34fb
rtspsrc: add port-range property to rtspsrc
...
To support setups with firewall/ipsec, it is useful for an rtsp client to be
able to set the range of ports that can be used for rtp/rtcp reception.
Allows this by adding a "port-range" property to the rtspsrc element.
Fixes #625153
2010-07-26 17:47:35 +02:00
Andoni Morales Alastruey
e6d7e69844
qtdemux: set the pixel-aspect-ratio field also for par=1/1
...
https://bugzilla.gnome.org/show_bug.cgi?id=625302
2010-07-26 16:08:37 +02:00
Wim Taymans
8696d10a5b
rtspsrc: fix memory leak in server request reply
...
The RTSP server rtspsrc is communicating with, sends a GET_PARAMETER request
periodically as a ping. The code in gst_rtspsrc_handle_request forms an OK
response and sends, but doesn't call gst_rtsp_message_unset to free the memory
after sending the response. This results in a constant slow memory leak.
Fixes #624770
2010-07-26 15:33:44 +02:00
Zaheer Abbas Merali
c00cd43e8b
cpureport: remove bogus docs
2010-07-24 22:39:54 +01:00
Zaheer Abbas Merali
961ab6d4b2
debugutils: new element cpureport
...
cpureport posts bus messages after every buffer received of cpu used, system
clock time, buffer time
2010-07-24 22:37:11 +01:00
Mark Nauwelaerts
c626e90fda
matroskademux: pull mode non-cue seeking
...
That is, in files that have no index (Cue), perform seek by scanning for
nearest cluster with timecode before requested position. Scanning is done
as a combination of interpolation and sequential scan.
Fixes #617368 .
2010-07-22 12:18:14 +02:00
Mark Nauwelaerts
4b76e95abe
matroskamux: streamable files need no _finish
...
Fixes #624455 .
2010-07-22 12:18:11 +02:00
Mark Nauwelaerts
f62c6ce5c8
avidemux: push mode; handle 0-size data chunks
...
Fixes #618535 .
2010-07-22 11:46:51 +02:00
Sebastian Dröge
38124ef5e5
videomixer: Only reset QoS information and send a NEWSEGMENT event downstream for NEWSEGMENT events on the master pad
2010-07-21 10:23:30 +02:00
David Schleef
eb81574469
capsdebug: Add new element
2010-07-20 14:02:52 -07:00
Tim-Philipp Müller
819fb47b78
matroskamux: demote WARNING message to LOG level
...
It's not a warning.
2010-07-20 16:12:21 +01:00
Mark Nauwelaerts
fd959ca77f
matroskademux: add missing argument in debug message
2010-07-16 18:05:21 +02:00
Mark Nauwelaerts
39268f10d3
matroskademux: remove bogus UNLOCK
2010-07-16 14:00:40 +02:00
Mark Nauwelaerts
65fdbe68ec
qtdemux: also calculate PAR using track width and height for QT files
...
(... as opposed to only for ISO style files).
Fixes #624173 .
2010-07-16 14:00:18 +02:00
Mark Nauwelaerts
16b57b49c9
matroskademux: handle bogus files storing ADTS AAC data
2010-07-16 13:59:22 +02:00
Mark Nauwelaerts
18f37ffc9a
matroskademux: do not error out on a block with unknown tracknumber
2010-07-16 13:58:39 +02:00
Mark Nauwelaerts
bbded080e0
qtdemux: do not align reverse playback reference stream twice
...
Timestamp rounding issues could lead to going backwards 2 keyframe periods
(rather than only 1). While this is not necessarily a problem, it might
potentially place additional (buffering) load on downstream and could be
avoided (because We Can).
Fixes #623629 .
2010-07-16 13:58:34 +02:00
Mark Nauwelaerts
2a22e9d487
qtdemux: convert some more mov format timestamp to gst time
2010-07-16 13:58:21 +02:00
Mark Nauwelaerts
7955c01f19
avidemux: additional verification heuristics for VBR audio stream
...
Check for and override some header field(s) for reasonable values, according
to later expected use in calculations.
2010-07-16 13:58:12 +02:00
Alessandro Decina
d5a4da9a69
videobalance: Fix wrong lock order that could lead to a deadlock. Fixes #624331 .
2010-07-16 12:45:35 +02:00
Arun Raghavan
8aed3176ce
qtdemux: Fix order of bitrates in 'btrt' atom
...
There seems to be a bug in libmp4v2 that generates a MPEG4BitRateBox as
(bufferSizeDB, avgBitrate, maxBitrate) instead of (bufferSizeDB,
maxBitrate, avgBitrate), according to the spec. I used the mp4file
output while writing this code, so the order is wrong. This patches
fixes that.
https://bugzilla.gnome.org/show_bug.cgi?id=623654
2010-07-06 10:33:16 +01:00
Edward Hervey
fcf1995020
qtdemux: strip out bogus tags from XMP atom
...
https://bugzilla.gnome.org/show_bug.cgi?id=623366
2010-07-02 14:39:36 +02:00
Andrzej K. Haczewski
0b5172eb06
flvmux: Write duration at the correct position
2010-07-02 14:25:22 +02:00
Thijs Vermeir
244a35a226
rtpptdemux: fix memleak on custom downstream events
...
by not sending custom downstream event twice and fix memleak when
not handling the event
https://bugzilla.gnome.org/show_bug.cgi?id=623196
2010-06-30 12:39:09 +02:00
Tim-Philipp Müller
c66c3d354c
wavparse: fix unportable printf format specifiers in commented out code
...
To avoid false positives when grepping for unportable specifiers.
2010-06-29 20:14:53 +01:00
Tim-Philipp Müller
cf8dddd5c7
goom: don't allocate 260kB struct on the stack
...
PluginInfo is quite a sizeable struct, let's not allocate it on the
stack, especially not if we're copying it over into another dynamically
allocated copy anyway.
Fixes #570761 .
2010-06-28 14:59:25 +01:00
Tim-Philipp Müller
240dec038c
gst: update orc files
2010-06-26 18:41:49 +01:00
Sebastian Dröge
8172c478aa
matroskamux: Fix leaking of the streamheader buffers
...
gst_value_set_buffer() increases the refcount and doesn't
take ownership of the buffer.
2010-06-25 19:40:06 +02:00
Tim-Philipp Müller
19216e7218
matroska, videobox, videofilter: fix compiler warnings when debugging is disabled in gstreamer
...
Fixes unused variable warnings when GStreamer's debugging system has been disabled.
2010-06-24 16:34:03 +01:00
Michael Grzeschik
b26785d9f9
reset the have_index flag at transition PAUSED_TO_READY
...
If we restart the Stream in the case of doing a transition from
PAUSED_TO_READY and back with READY_TO_PAUSED aso. the duration of the video
will get calculated even if we have a avi header with that information.
Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
2010-06-23 21:40:50 +02:00
Sebastian Dröge
7e0ea232d0
videobox: Fix negotiation for I420/YV12
...
We don't support conversion into *all* YUV
formats for them, only into I420/YV12/AYUV.
Fixes bug #622501 .
2010-06-23 20:30:11 +02:00
Mark Nauwelaerts
0a2d9a2269
wavparse: proper closing segment construction
...
Fixes #618982 .
2010-06-22 15:37:46 +02:00
Wim Taymans
5534c7d91d
rtspsrc: fix locking after moving things around
2010-06-18 20:04:08 +02:00
Wim Taymans
651c82a01f
rtspsrc: make some errors as warnings
...
Avoid spamming the testsuite with these error debug lines.
2010-06-18 16:56:19 +02:00
Keith Nicholson
0773eed960
udpsrc: fix multicast support on windows builds
...
On windows builds, sets source address for bind to INADDR_ANY, while
maintaining the original multicast group address for subsequent join.
Fixes #595978
2010-06-18 16:49:08 +02:00
Wim Taymans
e25cdc31d3
udp: make url parsing compatible with VLC syntax
...
Skip everything before the @ sign in the url location. VLC uses that as the
remote address to connect to (but we ignore it for now). This makes our udp urls
compatible with the ones used by VLC.
Fixes #597695
2010-06-18 16:16:28 +02:00
Wim Taymans
966ced2208
rtspsrc: factor out the connections
...
Keep a global connection for aggregate control but also keep stream connections
for non-aggregate control.
Add some helper methods to connect/close/flush the connections.
2010-06-18 15:13:06 +02:00
Wim Taymans
ddc214d322
rtspsrc: add non-aggregate control
...
Add non-aggregate control.
Separate retrieving thr SDP from parsing and setting up the streaming from the
SDP.
2010-06-18 15:13:06 +02:00
Zaheer Abbas Merali
8269a028a0
flvmux: add documentation for streamable property
2010-06-17 17:24:22 +01:00
Sebastian Dröge
968ce701a7
matroskademux: Fix an uninitialized variable compiler warning
2010-06-17 10:44:33 +02:00
Sebastian Dröge
f44e5e630b
ebml-read: Zero-sized ints/uints/floats have a value of 0 according to the EBML spec
2010-06-16 21:02:13 +02:00
Sebastian Dröge
e4a5f0911e
matroskademux: Fix possible NULL pointer dereference and assertion that could be caused by invalid files
2010-06-16 20:02:58 +02:00
Sebastian Dröge
20b9022289
matroskademux: Clean up/fix some minor error handling bugs
2010-06-16 19:50:34 +02:00
Sebastian Dröge
711e0cc90b
audioiirfilter: Fix possible NULL pointer dereference
2010-06-16 19:24:54 +02:00
Sebastian Dröge
1f545da974
warptv: Don't use floats as loop counters
2010-06-16 19:20:02 +02:00
Mark Nauwelaerts
a69e419c8e
avidemux: improve audio vbr detection
...
Subsequent entry time calculations use blockalign value to determine
number of frames per chunk, and blockalign == 1 is then most unlikely to result
in reasonable values (which also aligns with "spec").
2010-06-16 15:53:47 +02:00
Mark Nauwelaerts
6a9c70486f
rtph264depay: tweak DELTA_UNIT labeling
...
Consider SPS, PPS and IDR as keyframe, all others as DELTA_UNIT.
See #620154 .
2010-06-16 15:53:45 +02:00
Sebastian Dröge
e49d8a286b
avidemux: Assign variables before printing them
2010-06-15 20:04:35 +02:00
Sebastian Dröge
715eb33d24
wavparse: Initialize uninitialized variable
2010-06-15 20:00:28 +02:00
Edward Hervey
342543325b
matroska: Fix unitialized variable
2010-06-15 17:20:20 +02:00
Wim Taymans
e6ec5cce2e
rtspsrc: respect aggregate control attributes
...
when the SDP specifies an aggregate control url, use that for playback
control.
Fixes #619531
2010-06-14 19:24:14 +02:00
Sebastian Dröge
ff755250c3
goom: Call orc_init() before trying to get target flags
2010-06-14 15:38:02 +02:00
Sebastian Dröge
a11b271bf4
deinterlace: Call orc_init() before trying to get target flags
2010-06-14 15:38:02 +02:00
Zaheer Abbas Merali
e49c31fd25
matroskamux: revert change that set a reserved flag on the Block.
...
So matroska's Block structure has no keyframe flag, only the SimpleBlock has it.
To detect keyframes in Blocks, it is just the BlockGroup container that needs
to have a ReferenceBlock attached if it is a delta frame in video.
2010-06-14 14:28:53 +01:00
Mark Nauwelaerts
dde3825405
rtph264depay: also consider AU and SEI NALUs as DELTA_UNIT
...
Fixes #620154 .
2010-06-14 11:49:42 +02:00
Stefan Kost
a1da36d5a6
build: include stdio.h for sscanf
2010-06-12 21:26:16 +03:00
Tim-Philipp Müller
97a2111c58
rtpmparobustdepay: don't try to unref NULL buffers
...
Fixes generic/states unit test.
2010-06-11 21:18:52 +01:00
Tim-Philipp Müller
754f3a315b
wavparse: use typefind functions to check if PCM data contains dts stream
...
Use new dts audio typefinder from -base to check if the PCM data
contains a dts stream. This way we recognise more varieties more
reliably and also detect the dts stream if there isn't a frame
sync right at the start of the data.
Fixes #413942 .
2010-06-11 20:50:23 +01:00
Tim-Philipp Müller
12ec2c3d6d
wavparse: set buffer offsets before using the buffer for the first time
...
gst_type_find_helper_for_buffer() will need the correct offset
set on the buffer (ie. 0) and not the byte offset we started
pulling the data from.
2010-06-11 20:47:22 +01:00
Mark Nauwelaerts
815e06ba55
rtp: add mpa-robust depayloader
...
Fixes #589997 .
2010-06-11 11:45:48 +02:00
Mark Nauwelaerts
de5cb168ee
avimux: fix avi header bytewriting
...
... by using proper offsets for tag list writing.
Also use _reset rather than _free and consistently use bytewriter position.
See #619293 .
2010-06-11 10:57:41 +02:00
Sebastian Dröge
e84136ba03
videomixer: Port most blending related functions to orc
...
Only remaining MMX implementation is the ARGB/BGRA/AYUV blending
for which we first need the orc compositing opcodes.
2010-06-10 22:46:00 +02:00
Sebastian Dröge
e87802efdd
videomixer: Replace some tabs by spaces
2010-06-10 22:46:00 +02:00
Zaheer Abbas Merali
823a514161
matroskamux: some non-delta buffers were not marked as keyframes
2010-06-10 01:32:15 +02:00
Zaheer Abbas Merali
45f711044f
matroskamux: change 2 second limit per cluster
...
Start cluster at every keyframe or when we would overflow the previous
cluster's relative timestamp field. This would avoid as much as possible
starting clusters at non-keyframes.
2010-06-10 01:32:15 +02:00
Sebastian Dröge
b7d435911f
auto{audio,video}sink: Don't lose the GST_ELEMENT_IS_SINK flag after removing the child
2010-06-09 20:23:16 +02:00
Zaheer Abbas Merali
f22c7d0f7c
matroskamux: change indexed property to streamable
...
The property streamable has reverse semantics to indexed.
2010-06-09 15:42:19 +02:00
Thiago Santos
c27dc49bf7
flvmux: Rename unreleased property 'indexed' to 'streamable'
...
Rename 'indexed' to 'streamable' for a better name while it
hasn't been released
2010-06-09 09:13:09 -03:00
David Schleef
bd893e4dfb
level: remove unused liboil include
2010-06-08 17:25:35 -07:00
David Schleef
b83cd99aeb
videomixer: liboil to orc conversion
2010-06-08 17:25:35 -07:00
David Schleef
4e84ab1f87
videobox: liboil to orc conversion
2010-06-08 17:25:35 -07:00
David Schleef
2cb6cfed22
goom: liboil to orc conversion
2010-06-08 17:25:34 -07:00
David Schleef
9ff3ef0c92
deinterlace: orcify some deinterlacing methods
2010-06-08 17:25:34 -07:00
David Schleef
f14972bf20
deinterlace: convert from liboil to orc
2010-06-08 17:25:34 -07:00
Zaheer Abbas Merali
44c911d255
flvmux: Add indexed property to replace disabled is-live.
...
Add indexed property to be the negation of what the disabled is-live property
was. Fixes bug #613066 .
2010-06-08 14:12:16 +02:00
Sebastian Dröge
48934764e7
flvdemux: Don't handle non-TIME seeks
...
Don't send them upstream because for upstream a BYTES seek
might make sense but is completely wrong because upstream
can't seek to a byte position of the audio or video stream.
Also don't build the index in push mode for non-TIME seeks,
things will go wrong here otherwise.
2010-06-07 18:34:11 +02:00
Sjoerd Simons
c39e82a1ce
Cope with short startcodes in the h264 bytestream
2010-06-07 10:28:06 +02:00
Sebastian Dröge
f16ed4a91c
gst: Don't use GST_DEBUG_FUNCPTR for GObject vfuncs
2010-06-06 17:52:40 +02:00
Philip Jägenstedt
21c84e23e8
matroskademux: refactor delta unit handling
...
This allows us to skip delta units earlier and is a bit clearer in my
opinion. It also makes only video buffers ever be delta units, not
just for SimpleBlock as before.
2010-06-06 15:38:00 +02:00
Sebastian Dröge
6e9e48c0b9
flvdemux: Clear adapter on discontinuities
2010-06-06 15:17:00 +02:00
Philip Jägenstedt
b2ff8042d3
matroskademux: Ignore keyframe flag for non-video streams
...
When the keyframe bit of SimpleBlock Flags wasn't set, the buffer was being
marked with GST_BUFFER_FLAG_DELTA_UNIT, causing all buffers to be skipped
after a seek. This may be a problem with the Sorenson Squish encoder, but
arguably the keyframe bit should only be applied to video.
Fixes bug #620358 .
2010-06-06 14:59:29 +02:00
Sebastian Dröge
0fe56cc0d6
flvdemux: First try upstream when handling seek events/queries
2010-06-06 14:57:27 +02:00
Tristan Matthews
8e0adba996
gstrtpceltpay: don't always fixate sink caps to 1 channel
...
The getcaps function should not fixate the channels field until we
get the encoding-params field from our srcpad's caps. Fixes #620591
2010-06-05 10:02:35 +02:00
Wim Taymans
cb8252275d
rtsp: try all ranges from the sdp
...
Try all ranges in the SDP before giving up.
2010-06-04 13:58:38 +02:00
Wim Taymans
6fbca707bb
rtspsrc: make parse_range return result
...
Make the parse_range function return if the parsing succeeded or failed.
2010-06-04 13:58:38 +02:00
Edward Hervey
2ff87c0fb9
videomixer: if we're not linked downstream, we can do any format
...
Stupid me, assuming _get_allowed_caps() would actually return the
pad templates if there was no peer.
2010-06-04 11:44:09 +02:00
Sjoerd Simons
952fd666b3
Keep announcing the delivery-method in the capabilities
...
Even though we don't use delivery-method in our payloader, older versions of
the theora payloader in gstreamer required it. As such we need to keep this
around in the caps for backwards-compatibility.
This reverts part of 49463a37cb
Fixes #618940
2010-06-03 18:47:40 -04:00
Wim Taymans
ffc06e17f0
mp4gdepay: calculate the frame duration correctly
...
When we calculate the frame duration, we need to use the amount of
frames in the _previous_ packet, not the current packet. The frame duration is
needed to correctly de-interleave interleaved streams. This fixes the case where
there are a variable number of frames in a packet.
Fixes #620494
2010-06-03 19:39:04 +02:00
Edward Hervey
d72a2fb6da
videomixer: Don't return caps in get_caps() that will be rejected
...
This commit basically puts _get_caps() in sync with accept_caps().
If we don't have a master pad OR the master pad caps aren't negotiated
then we just return the downstream allowed caps.
If we have a master pad with negotiated caps, we return those caps
with a free range of width/height/framerate
2010-06-03 19:01:14 +02:00
Mark Nauwelaerts
a8ffe6f593
flvdemux: delayed seek handling also deserves TRUE event response
2010-06-02 17:27:22 +02:00
Thijs Vermeir
0bb2be3a7e
rtpjitterbuffer: fix compiler warning
...
unused variable ‘estimated’
2010-06-02 15:32:36 +02:00
Alessandro Decina
4b6cb93025
rtpjitterbuffer: stop buffering and emit EOS at the end of a stream
...
When using RTP_JITTER_BUFFER_MODE_BUFFER, make sure that the ringbuffer doesn't
get stuck buffering forever when there isn't enough data left to fill the
buffer.
2010-06-02 14:21:16 +02:00
Benjamin Otte
d516fc5fd8
debugutils: Don't consume preroll buffer twice
2010-06-02 14:20:26 +02:00
Benjamin Otte
81c4dc4574
debugutils: Replace md5 implementation with glib's
...
https://bugzilla.gnome.org/show_bug.cgi?id=619824
2010-06-02 14:20:26 +02:00
Mark Nauwelaerts
53365b91e6
avimux: clean up code for avi header using a bytewriter
...
https://bugzilla.gnome.org/show_bug.cgi?id=619293
2010-06-02 14:20:26 +02:00
Edward Hervey
59dcdc37a0
videomixer: filter caps returned from downstream with our pad template.
2010-06-01 20:45:29 +02:00
Zaheer Abbas Merali
bfaeffcfd0
matroskamux: Remove more unneeded warnings
2010-06-01 16:56:32 +01:00
Zaheer Abbas Merali
7fc21317af
matroskamux: remove unneeded warning
2010-06-01 16:54:03 +01:00
Zaheer Abbas Merali
d73cecd8c0
matroskamux: remove unneeded debug statement
2010-06-01 16:49:14 +01:00
Zaheer Abbas Merali
8c165b49a7
matroskamux: change is-live property to indexed
2010-06-01 16:43:04 +01:00
Zaheer Abbas Merali
3d876d2b16
matroska: use the uint64 scaling functions
...
In demuxer and muxer use the gst_util_uint64 scaling functions rather than
standard integer division. Add warnings (to be changed to debug) for debugging
the timestamp and duration.
2010-06-01 16:43:04 +01:00
Zaheer Abbas Merali
ec23b22d29
matroskamux: set delta unit on all buffers except cluster start ones
2010-06-01 16:43:04 +01:00
Zaheer Abbas Merali
d3daa12473
matroskamux: store caps and set on buffers rather than using pad caps
2010-06-01 16:43:03 +01:00
Zaheer Abbas Merali
b4e6fcd051
matroskamux: make sure pads caps are set before any buffers pushed.
2010-06-01 16:43:03 +01:00
Zaheer Abbas Merali
7c402d5866
matroskamux: add streamheaders
2010-06-01 16:43:03 +01:00
Zaheer Abbas Merali
d0bf310876
matroskamux: no need to set cache twice
2010-06-01 16:43:03 +01:00
Xavier Queralt
40eda471a1
Do not create a SeekHeader, Cues, .. when doing live
2010-06-01 16:43:03 +01:00
Xavier Queralt
032d9b90ff
Add is-live property
2010-06-01 16:43:02 +01:00
Mark Nauwelaerts
44fa95d5cb
matroskademux: improve reverse playback
...
Slightly modify approach to also handle cases where cue entries do not reliably
lead to initial keyframes.
Fixes #619817 .
2010-06-01 15:56:34 +02:00
Mark Nauwelaerts
69d47ef4a0
deinterlace: avoid gtk-doc confusing comments
2010-06-01 15:56:25 +02:00
Mark Nauwelaerts
b8fd1a91f1
matroskamux: use write caching also when writing buffer data
...
Specifically, this reduces pushing several small buffers for each
data buffer and also avoids a seek for each buffer altogether
(though a seek is still needed for each cluster).
Fixes #619273 .
2010-06-01 15:54:35 +02:00
Mark Nauwelaerts
81bf657aa7
matroskamux: fix ebml write caching with bytewriter implementation
...
Also cache a bit more during header writing.
Fixes #619273 .
2010-06-01 15:53:43 +02:00
Mark Nauwelaerts
7895ddbc38
matroskamux: use consistent debug category name for ebmlwrite
2010-06-01 15:53:37 +02:00
Mark Nauwelaerts
085e333283
matroskademux: use bytereader based GstEbmlRead as a helper
...
... rather than basing on it by inheritance.
Also use more common code for push and pull mode.
Fixes #619198 .
Fixes #611117 .
2010-06-01 15:52:12 +02:00
Mark Nauwelaerts
973c8ddfdf
matroskamux: _get_pad_template result needs no unref
2010-06-01 15:51:16 +02:00
Edward Hervey
01abf5b94e
videomixer: Implement sinkpad GetCapsFunction.
...
This allows returning only the formats, width, height, framerate
and pixel-aspect-ratio that downstream can support.
https://bugzilla.gnome.org/show_bug.cgi?id=620148
2010-06-01 12:42:10 +02:00
Sebastian Dröge
0d5ae784b1
matroskademux: Don't compare running times with stream times when doing QoS
2010-06-01 11:21:30 +02:00