Thiago Santos
4726115e83
mssdemux: signal no-more-pads when finished exposing pads
...
This makes decodebin/playbin mechanism know it can start playing
when buffering is finished
2013-05-07 21:05:11 -03:00
Thiago Santos
eec8164d9c
mssmanifest: Keep the stream qualities list sorted by bitrate
...
This will help making adaptive streaming chose the best rate
for a particular connection speed
2013-05-07 21:05:11 -03:00
Thiago Santos
013c11f7dd
mssdemux: also consider fourcc AVC1 as H264
...
H264 can be represented by both fourccs H264 and AVC1, use both.
2013-05-07 21:05:11 -03:00
Thiago Santos
4293cfa763
mssmanifest: add support for VC-1 and WmaPro formats parsing
...
VC-1 should map to WMV3 and WmaPro to WMA2
2013-05-07 21:05:11 -03:00
Thiago Santos
3f2409f7e2
mssdemux: do not try to expose unknown streams
...
When the stream can't have its caps detected, better not to expose it.
If no streams are known, signal an error about no playable streams to
the application
2013-05-07 21:05:11 -03:00
Thiago Santos
b2ba96bb85
mssmanifest: do not set codec_data when it is empty
...
Some manifests contain empty codec datas, better not set them
2013-05-07 21:05:11 -03:00
Thiago Santos
9b3f67c5b0
mssdemux: set timestamp and duration to fragment buffers
...
We can get those from the manifest and helps downstream to know
the fragment start time after a seeking operation
2013-05-07 21:05:11 -03:00
Thiago Santos
ebd0862ac1
mssmanifest: fix typo
...
Fix typo that was making the advance fragment function return a wrong
flow return in case it was already EOS
2013-05-07 21:05:11 -03:00
Thiago Santos
cb7e3d1f3b
mssdemux: initial implementation of seek event handling
...
Adds basic handling for seek in time events. Needs to cooperate
with the downstream qtdemux so that it forwards the seeks and
the corresponding newsegments
2013-05-07 21:05:11 -03:00
Thiago Santos
33d872916b
mssdemux: handle src pad queries fir duration and latency
...
Add a src pad query handler to get the duration from the manifest
and report it upstream.
Also adds a simple handler for latency queries
2013-05-07 21:05:11 -03:00
Thiago Santos
0f1ef317f0
mssdemux: add some more error handling
...
Post error in some more scenarios:
* when the manifest has no streams
* when getting the fragment url fails
2013-05-07 21:05:11 -03:00
Thiago Santos
529b248a89
codecparsers: ensure the debug category is properly initialized
...
The user of the library might not need to create a NalParser, so
the debug category needs to be initialized from other functions
as well if required.
2013-05-07 21:05:10 -03:00
Thiago Santos
3f15c9b05a
mssdemux: add timescale to the caps
...
This is important for downstream to properly timestamp the samples
The default value is 10000000, but this can be set in the stream
or at the top-level manifest entry
2013-05-07 21:05:10 -03:00
Thiago Santos
68d2719c9f
mssdemux: parse the fps from h264 codec data if possible
...
Use h264 codec parsing lib to extract the fps from the manifest's
codec data as it doesn't seem to provide it anywhere else
2013-05-07 21:05:10 -03:00
Thiago Santos
af4c690995
mssdemux: correctly add h264 codec data to caps
...
Need to construct an avcc atom from the codecdata read from MSS
manifests to make h264 decoders/parsers accept it
2013-05-07 21:05:10 -03:00
Thiago Santos
edea61b758
mssdemux: add the correct caps to the outgoing stream
...
mssdemux outputs a quicktime variant, named mss-fragment
2013-05-07 21:05:10 -03:00
Thiago Santos
32d8a72bfc
mssdemux: set caps to buffers before pushing
...
Also update to the latest gstfragment API that provides
the fragment as a whole buffer.
2013-05-07 21:05:10 -03:00
Thiago Santos
91dd173f3c
mssdemux: improve state changing
...
Keep a ref on pad to prevent it being unreffed while the mssdemux
streams are still using it. Also reset the element when going to
ready instead of when going to null.
2013-05-07 21:05:10 -03:00
Thiago Santos
b4f994d47c
mssdemux: adds mininum error handling
...
This should care for basic scenarios of errors and EOS to allow
the pipeline to stop correctly
2013-05-07 21:05:10 -03:00
Thiago Santos
96522f474c
mssdemux: mssmanifest: prevent accessing null stream fragment
...
Move the access to the stream fragment data after the check
if the fragment exists to prevent a segfault
2013-05-07 21:05:10 -03:00
Thiago Santos
ca4e5c34cb
smoothstreaming: refactor structure names and implement url fetching
...
Use shorter names for the MSS manifest helper structure and functions.
Also continues the implementation of the stream fetching and pushing loop.
Now it uses the base url correctly and already fetches and pushes the fragments
downstream
2013-05-07 21:05:10 -03:00
Thiago Santos
7ceb023682
mssdemux: initial implementation of the pad loop
...
The loop will fetch a new fragment and push on its srcpad. Each
stream has its own loop
2013-05-07 21:05:10 -03:00
Thiago Santos
6b63a7dc81
mssdemux: more manifest parsing and helper functions
...
Now the mss manifest is able to generate the files urls
2013-05-07 21:05:10 -03:00
Thiago Santos
5291985efe
mssdemux: pad exposing initial implementation
...
Does some basic parsing of the stream caps and adds a pad for
each stream detected in the manifest
2013-05-07 21:05:10 -03:00
Thiago Santos
72b05c0051
mssdemux: add manifest parsing
...
Continued implementing:
1) parse the manifest with libxml2
2) detect stream types
2013-05-07 21:05:10 -03:00
Thiago Santos
95e87fbee9
smoothstreaming: stubs for mssdemux
...
Just the stubs for mssdemux element.
Also add some useful code from hlsdemux that we intend to reuse
2013-05-07 21:05:10 -03:00
Thiago Santos
ef25e05b7c
smoothstreaming: build directory stubs for new plugin
...
Initial build structure for MS' Smooth Streaming plugin
Conflicts:
ext/Makefile.am
2013-05-07 20:02:41 -03:00
Louis-Francis Ratté-Boulianne
f0211e5b7b
uridownloader: unlock mutex when switching urisrc state to NULL to avoid deadlock
...
When chain method was called after gst_uri_downloader_stop and before state has been changed to NULL, execution was blocking on g_mutex_lock.
Conflicts:
gst-libs/gst/uridownloader/gsturidownloader.c
2013-05-07 20:02:41 -03:00
Thiago Santos
99efe87b5d
uridownloader: properly unref the urisrc between downloads
...
This prevents leaking the element. Also sets the bus to flushing
to completely reset the downloader state
2013-05-07 20:02:41 -03:00
Andre Moreira Magalhaes (andrunko)
f72869816c
uridownloader: make cancelled state 'permanent' until a reset
...
When downloading and cancelling quickly the uridownloader object and the
element using it could miss the cancelled window and the uridownloader
would fetch the wrong URI and block on subsequent fetches.
This was also problematic when stopping elements, while one task would
call the cancel, another element thread could issue a new fetch_uri. As
the cancel state isn't 'permanent' this fetch_uri would block and
prevent the whole element from stopping and going to NULL.
This patch makes the 'cancelled' state permanent until a
gst_uri_downloader_reset is called. This way the element knows the
window where the uridownloader isn't active and only reactivate it when
ready.
2013-05-07 20:02:41 -03:00
Thiago Santos
859635ca01
uridownloader: refactor gsturidownloader to its own lib
...
gsturidownloader can be reused by other plugins, better have it
into its own lib
2013-05-07 20:02:41 -03:00
Greg Rutz
4d4fd09a3a
mpegtsmux: Fix memory leak when using prepare_func
...
prepare_func will allocate a new buffer to replace the original
one. Instead of using gst_buffer_replace (which causes an extra
refcount increment on the new buffer), we just unref the original
buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=699786
2013-05-07 16:37:49 +02:00
Sreerenj Balachandran
0511a6b032
mpegvideometa: Fix typo in comment
...
https://bugzilla.gnome.org/show_bug.cgi?id=699827
2013-05-07 14:52:50 +02:00
Stefan Sauer
7aeed2d79d
ladspa: sync controlled parames in filters and sinks
2013-05-03 21:46:53 +02:00
Sebastian Dröge
a845d6d0db
ladspa: Add $(GMODULE_NO_EXPORT_LIBS) for gmodule
2013-05-03 16:55:00 +02:00
Matej Knopp
946ffd0da5
mpegvideoparse: don't compare buffer size when checking whether to update caps
...
https://bugzilla.gnome.org/show_bug.cgi?id=699398
2013-05-03 12:52:18 +02:00
Juan Manuel Borges Caño
70e208d08e
ladspa: improved port to gstreamer 1.0
...
Fixes : #698927
2013-05-03 12:36:44 +02:00
Tim-Philipp Müller
f1a6d84a6c
mpegvideoparse: don't announce incomplete source caps
...
Don't send any source caps yet if we're still in
drop-buffers-until-we-get-a-sequence-header mode.
Fixes transmuxing of many MPEG-TS/PS streams into
formats which require things like width, height or
codec_data on the input caps.
Also fixes issues when using playbin with decoder
sinks that want width/height etc.
https://bugzilla.gnome.org/show_bug.cgi?id=695879
2013-05-01 17:42:11 +01:00
Tim-Philipp Müller
9056e775a9
kate: fix buffer leak in katetag
...
Makes unit test valgrind clean.
https://bugzilla.gnome.org/show_bug.cgi?id=697071
2013-04-27 12:28:58 +01:00
Tim-Philipp Müller
8c7ed7ccea
tests: fix some leaks in kate unit test
2013-04-27 12:06:53 +01:00
Tim-Philipp Müller
de3bd76051
kate: minor cleanup
2013-04-27 12:06:28 +01:00
Olivier Crête
6e5db57d24
liveadder: Document that the latency is in milliseconds
...
Bug #698896
2013-04-26 15:33:18 -04:00
Edward Hervey
65ba9b4756
tsdemux: convert packet PTS/DTS as soon as possible
...
We let the mpegtspacketizer deal with pcr wraparound/resets.
https://bugzilla.gnome.org/show_bug.cgi?id=674536
2013-04-26 15:49:18 +02:00
Edward Hervey
05b51dfec0
mpegtsdemux: header cleanups/updates
2013-04-26 15:49:18 +02:00
Rico Tzschichholz
748e888e60
docs: Drop obsolete references to videosignal headers
...
In addition to 8552396c36
2013-04-26 13:33:30 +01:00
Josep Torra
b946de7211
h264parse: Update src pad caps when it was explicitly signaled
...
Fixes src pad caps aren't updated when converting from AVC to bytestream
and new caps had been received in the sink pad.
https://bugzilla.gnome.org/show_bug.cgi?id=698679
2013-04-26 10:38:36 +02:00
Thiago Santos
d8b8809d57
tsdemux: Fix caps string leak
2013-04-24 12:28:17 +02:00
Sebastian Dröge
9f25db0981
eglglessink: Use gst_egl_display_get() instead of passing a GstEGLDisplay to EGL functions
2013-04-24 09:40:24 +02:00
Sebastian Dröge
363aa90a10
wasapisrc: Port to GstAudioSrc
2013-04-23 18:57:04 +02:00
Sebastian Dröge
1445438a8b
wasapi: Port wasapisink to GstAudioSink
2013-04-23 18:57:04 +02:00