Olivier Crête
af4e999c59
rtpmux: Unref non-forwarded events
...
Also, don't unref forwarded ones
2012-12-16 16:35:29 +00:00
Olivier Crête
a8789d1df1
rtpmux: resync iterator on resync
2012-12-16 16:35:29 +00:00
Olivier Crête
0c54079af5
rtpmux: Re-push sticky events on input pad change
2012-12-16 16:35:29 +00:00
Olivier Crête
21831b430f
rtpmux: Don't leak gvalue from iterator
2012-12-16 16:35:29 +00:00
Wim Taymans
ccc4b960fc
rtpmux: more porting
2012-12-16 16:35:26 +00:00
Olivier Crête
f20a6b1d16
rtpmux: port to 0.11
2012-12-16 16:35:26 +00:00
Wim Taymans
35b6668fb6
rtpmux: make request pads take _%u
2012-12-16 16:35:22 +00:00
Olivier Crête
aa3607ef5c
rtpdtmfmux: Add last-stop to dtmf-event upstream events
...
Add the running time of the last outputted buffer to the
upstream "dtmf-event" events so that the dtmf source does not
leave a gap.
2012-12-16 16:35:22 +00:00
Edward Hervey
d137482fe5
rtpmux: Remove dead assignments
2012-12-16 16:35:22 +00:00
Stefan Kost
55aae6bfab
rtpmux: add missing G_PARAM_STATIC_STRINGS flags
...
Canonicalize property names as needed.
2012-12-16 16:35:15 +00:00
Olivier Crête
9674d5cc23
rtpmux: Improve documentation
...
Add an example pipeline, and try to explain a bit more what it does.
2012-12-16 16:35:15 +00:00
Stefan Kost
ca27a279ba
rtpdtmfmux: remove unused variable
2012-12-16 16:35:15 +00:00
Stefan Kost
c85dceeacb
rtpdtmfmux: remove unused signal boilerplate
2012-12-16 16:35:15 +00:00
Stefan Kost
2353f8d852
rtpmux: no need to ref pad in _chain()
2012-12-16 16:35:15 +00:00
Youness Alaoui
e42d2eebcb
rtpmux: Unlock the right mutex
...
The mutex locked is for the 'mux' object, but we unlock the
pad, which means that if the rtpmux gets a flush, then the
object lock will stay locked forever, causing it to freeze
the next time it tries to take it.
Fixes bug #627991
2012-12-16 16:35:15 +00:00
Olivier Crête
78d1ebac9e
rtpmux: Add support for GstBufferList
...
Factor out most of the buffer handling and implement a chain_list
function. Also, the DTMF muxer has been modified to just have a
function to accept or reject a buffer instead of having to subclass
both chain and chain_list.
2012-12-16 16:35:15 +00:00
Olivier Crête
c00f14419b
rtpmux: Don't leak invalid buffers
2012-12-16 16:35:15 +00:00
Tim-Philipp Müller
a45429d81d
rtpmux: fix missing debug log message argument
2012-12-16 16:35:15 +00:00
Olivier Crête
4a8d0243b5
rtpdtmfmux: Add some debug messages
2012-12-16 16:35:14 +00:00
Olivier Crête
423ce98666
rtpdtmfmux: Remove stream-lock event handling
2012-12-16 16:35:14 +00:00
Olivier Crête
a4500c0e74
rtpdtmfmux: Update doc for simplification
2012-12-16 16:35:14 +00:00
Olivier Crête
70097866de
rtpdtmfmux: Drop buffers on non-priority sinks when something is incoming on the priority sink
2012-12-16 16:35:14 +00:00
Olivier Crête
f6548fe9b6
rtpdtmfmux: Add priority sink pads
2012-12-16 16:35:14 +00:00
Olivier Crête
2bcea1537b
rtpdtmfmux: Cleanup event function
2012-12-16 16:35:14 +00:00
Olivier Crête
8e58646f5c
rtpmux: Aggregate incoming segments
2012-12-16 16:35:14 +00:00
Olivier Crête
7be57cac3a
rtpdtmfmux: Update documentation
2012-12-16 16:35:14 +00:00
Olivier Crête
e590fc1f32
rtpmux: Simplify request pad creation
2012-12-16 16:35:14 +00:00
Benjamin Otte
2867e00225
rtpmux: gst_element_class_set_details => gst_element_class_set_details_simple
2012-12-16 16:35:10 +00:00
unknown
fb7266884d
rtpmux: update the current_ssrc from the caps
...
Fixes #604101
2012-12-16 16:33:47 +00:00
Håvard Graff
eab65e84ca
rtpmux: release pads when disposing
...
Because of an allocated priv (GstRTPMuxPadPrivate), the element will
leak memory if not gst_rtp_mux_release_pad() is called. This would
previously only happen if release_request_pad() was called explicitly,
somthing that should not be neccesary.
Fixes #604099
2012-12-16 16:33:46 +00:00
Wim Taymans
0d54122804
dtmfmux: method name cleanups
2012-12-16 16:33:46 +00:00
Olivier Crête
3841cc74cf
rtpmux: Don't ignore requested pad name
2012-12-16 16:33:46 +00:00
Olivier Crête
d93295ff9d
rtpmux: Remove empty finalize
2012-12-16 16:33:46 +00:00
Olivier Crête
5e90a4e86b
rtpmux: Free the pad private data on pad release
...
Free the pad private data on pad release instead of using a weak ref,
which is not thread safe. Also, lock the content of the pad private using the element's
object lock.
2012-12-16 16:33:46 +00:00
Olivier Crête
4be63c9add
rtpmux: Reject wrong caps
2012-12-16 16:33:46 +00:00
Olivier Crête
0111bafb3a
rtpmux: Fix leak Fixed a leak discovered by Laurent Glayal <spegle@yahoo.fr>
2012-12-16 16:33:46 +00:00
Olivier Crête
fcc1522d2e
rtpmux: Fix leak
...
Fixed a leak discovered by Laurent Glayal <spegle@yahoo.fr>
2012-12-16 16:33:46 +00:00
Olivier Crête
ff6686f1c7
rtpmux: Fix warning
2012-12-16 16:33:46 +00:00
Olivier Crête
00791f930b
rtpmux: Set different caps depending on the input
2012-12-16 16:33:46 +00:00
Olivier Crête
ed0b407038
rtpmux: Only free pad private when pad is disposed
2012-12-16 16:33:45 +00:00
Olivier Crête
92bb5199ac
rtpmux: Remove useless caps mangling
2012-12-16 16:33:45 +00:00
Olivier Crête
3ccf3217fe
rtpmux: Rename variable for more clarity
2012-12-16 16:33:45 +00:00
Olivier Crête
4b958f6d8d
rtpmux: Use GST_BOILERPLATE
2012-12-16 16:33:45 +00:00
Olivier Crête
abe57be248
rtpmux: Do the includes locally
2012-12-16 16:33:45 +00:00
Olivier Crête
05844c89e9
rtpmux: Add GST_DEBUG_FUNCPTRs
2012-12-16 16:33:45 +00:00
Olivier Crête
fd102b95ab
rtpdtmfmux: Release locked pad on release_pad
...
Release the special pad if the pad is removed from the muxer.
2012-12-16 16:33:45 +00:00
Laurent Glayal
00f8bab712
rtpdtmfmux: Release special on pad dispose
...
Fixes #577690
2012-12-16 16:33:45 +00:00
Stefan Kost
a4a22454dc
docs: various doc fixes
...
No short-desc as we have them in the element details.
Also keep things (Makefile.am and sections.txt) sorted.
Reword ambigous returns. No text after since please.
2012-12-16 16:33:41 +00:00
Olivier Crête
7d4395a910
rtpmux: Move rtpmux from gst-plugins-farsight to -bad
2012-12-16 16:33:27 +00:00
Olivier Crête
68215752f4
rtpmux: Re-indent to Gst style
2012-12-16 16:33:24 +00:00
Olivier Crête
c7d0809434
rtpmux: Document rtp muxer a bit
2012-12-16 16:33:20 +00:00
Laurent Glayal
47c7a93df2
rtpmux: Add signals before stream lock and after unlocking
2012-12-16 16:33:17 +00:00
Olivier Crête
f1656ed8b0
rtpmux: Let ssrc through getcaps
2012-12-16 16:33:14 +00:00
Olivier Crête
1529dffaf9
rtpmux: Rename have_base to have_ts_base
2012-12-16 16:33:11 +00:00
Olivier Crête
57563517bd
rtpmux: Protect the seqnum with object lock in rtpmux
2012-12-16 16:33:08 +00:00
Olivier Crête
d3237eaf95
rtpmux: Remove unused sink_ts_base
2012-12-16 16:33:04 +00:00
Olivier Crête
cc23958183
rtpmux: Have getcaps to force the same clockrate on all pads
2012-12-16 16:33:01 +00:00
Olivier Crête
dc36590d0c
rtpmux: Validate RTP data in RTP Mux
2012-12-16 16:32:57 +00:00
Olivier Crête
360c8d4f1d
rtpmux: Remove unused clock-rate property
2012-12-16 16:32:54 +00:00
Olivier Crête
b86232d0dc
rtpmux: Clarify locking in rtpdtmfmux
2012-12-16 16:32:50 +00:00
Laurent Glayal
4b607cdda5
rtpmux: Missing format parameter
2012-12-16 16:32:47 +00:00
Håvard Graff
b313c80367
rtpmux: Update seqnum base in rtp muxer
...
With help from Wim
2012-12-16 16:32:43 +00:00
Håvard Graff
c479f90274
rtpmux: Fix some more leaks
2012-12-16 16:32:40 +00:00
Håvard Graff
1b5e769e0b
rtpmux: Fix leak
2012-12-16 16:32:37 +00:00
Olivier Crête
5cbb0de823
rtpmux: Don't unref caps we don't know (thanks Wim)
2012-12-16 16:32:32 +00:00
Olivier Crête
cebf506949
rtpmux: Put per-buffer debug at level LOG
2012-12-16 16:32:29 +00:00
Olivier Crête
3c12a423b7
rtpmux: Make debug print accurate
2012-12-16 16:32:25 +00:00
Olivier Crête
c49f4c87c6
rtpmux: Set our caps on the buffers
2012-12-16 16:32:22 +00:00
Olivier Crête
ec63da9366
rtpmux: Take the clock-base stored from the last setcaps
2012-12-16 16:32:18 +00:00
Olivier Crête
674c074114
rtpmux: Store the clock-base on setcaps
2012-12-16 16:32:15 +00:00
Olivier Crête
90264b9686
rtpmux: Add padprivate to the request pads
2012-12-16 16:32:11 +00:00
Olivier Crête
15d661ba3e
rtpmux: Make indentation more correct
2012-12-16 16:31:56 +00:00
Olivier Crête
3a7d09a749
rtpmux: Fix typo
2012-12-16 16:31:53 +00:00
Olivier Crête
91aef3ec5e
rtpmux: Set seqnum-base and clock-base in caps from rtpmuxer
2012-12-16 16:31:50 +00:00
Zeeshan Ali
6ea5ca354d
rtpmux: more debug
...
20070815135038-f3f1e-9c7a5490a525c6e8753cb1b8c03354df99132b5c.gz
2012-12-16 16:31:46 +00:00
Youness Alaoui
f0e209b638
rtpmux: missing comment
...
20070820185032-4f0f6-0ab67b6ac40dd4e35a8fe53f3cb6daff65ce43b9.gz
2012-12-16 16:30:33 +00:00
Olivier Crete
3ed5590da6
rtpmux: Make buffer writable before writing into it
...
20070712195336-3e2dc-91a5fb797cfa4919d4e2f9a728c6d6fbd3b83d93.gz
2012-12-16 16:30:31 +00:00
Olivier Crete
dd13f7c8ef
rtpmux: Set pads active when adding them to a potentially running element
...
20070706202459-3e2dc-a3731f885725594def0a7be997fc7b3a739ee967.gz
2012-12-16 16:30:27 +00:00
Olivier Crete
1c5075f927
rtpmux: Fix multiple ref leaks (patches by SP GLE)
...
20070607120121-3e2dc-061e9ef7a47b1b84fa8f8092f4b8bcc0e6db8c8c.gz
2012-12-16 16:30:23 +00:00
Zeeshan Ali
42f455e902
rtpmux: send event to all src pads
...
20070528152505-f3f1e-039216c73dc93f64c49962c77a0253cb9cfec4d3.gz
2012-12-16 16:30:18 +00:00
Zeeshan Ali
dba101bb0f
rtpmux: print a warning if receive an error iterating sinkpads
...
20070528123749-f3f1e-4c1eb3f511b5610143610a65a94d117f2c3d2580.gz
2012-12-16 16:30:15 +00:00
Zeeshan Ali
baa48dc6bc
rtpmux: deal with all the gst_iterator_next() return values
...
20070528122808-f3f1e-d301644c3be7633ec6dc5e28596e9346d2da6a50.gz
2012-12-16 16:30:12 +00:00
Zeeshan Ali
de40874670
rtpmux: Return correct value from the event handler
...
20070525123116-f3f1e-131b37b5f4521618fe2f1320409a47e65b35ad2d.gz
2012-12-16 16:30:08 +00:00
Zeeshan Ali
ed76f67e96
rtpmux: Ville's original patch to fix the traversal of dtmf event
...
20070525102709-f3f1e-6c41d1ef934068a4f4e810e7e981b420075b0c98.gz
2012-12-16 16:30:05 +00:00
zeeshan.ali@nokia.com
94ebe07862
rtpmux: Set the correct ts-offset on the get_prop value
...
20070329135250-65035-a43e222d91d57c0a61cb3287586aaa29abf78674.gz
2012-12-16 16:30:01 +00:00
zeeshan.ali@nokia.com
1ee542c378
rtpmux: Refactorize state_change
...
20070329135223-65035-23a0107b2e397710f035c6e88cc0e49b65bb4d5d.gz
2012-12-16 16:29:58 +00:00
zeeshan.ali@nokia.com
2498ba671a
rtpmux: set SSRC on the packets
...
20070329133622-65035-1be6e0aa85a71389f7d257b9cd3e13a73d6b745b.gz
2012-12-16 16:29:55 +00:00
zeeshan.ali@nokia.com
ee69c2690d
rtpmux: Code clean-up and more debug output
...
20070329131936-65035-9d499e209e0d7a409c3aa0d1040778babf076179.gz
2012-12-16 16:29:52 +00:00
zeeshan.ali@nokia.com
1c799ce964
rtpmux: Use own clock-base
...
20070328112219-65035-1ba5fefbc65059e9b0c860528a31062ceb6a7331.gz
2012-12-16 16:29:48 +00:00
zeeshan.ali@nokia.com
b04630d7a2
rtpmux: Only accept RTP streams that have the same clock-rate
...
20070323163139-65035-fc0b17b0b8a7a041f48994c4f26e96568168bf95.gz
2012-12-16 16:29:45 +00:00
zeeshan.ali@nokia.com
6fe1e02efd
rtpmux: Some more code-cleanups
...
20070322161552-65035-bda96165e146b4f1d5fea1cc9576a7ab3abebc9e.gz
2012-12-16 16:29:42 +00:00
zeeshan.ali@nokia.com
1603223ee5
rtpmux: return newpad instead of NULL and warn if failed to create a pad
...
20070322154251-65035-cdb6651e61c2eb0205cc8c24693b43f98a2da718.gz
2012-12-16 16:29:38 +00:00
zeeshan.ali@nokia.com
23d3ed5c5f
rtpmux: Refactorize the RTPMux code
...
20070322124132-65035-0a3278147546e33f687097a43b775b3f6aa99f93.gz
2012-12-16 16:29:35 +00:00
zeeshan.ali@nokia.com
21e6e951f6
rtpmux: Some more doc fixing
...
20070322121453-65035-12d602272217b51bd97df4e5790024c399622dd3.gz
2012-12-16 16:29:32 +00:00
zeeshan.ali@nokia.com
0de7fb6f37
rtpmux: More Refactoring
...
20070322113228-65035-bae34a79599e7de5293ed77b022361ccff822bb9.gz
2012-12-16 16:29:29 +00:00
zeeshan.ali@nokia.com
0f755657ce
rtpmux: More documentation
...
20070322113154-65035-624850541a5b5fc3df231204be5a83d07239db28.gz
2012-12-16 16:29:26 +00:00
zeeshan.ali@nokia.com
5483c78ac0
rtpmux: Refactor the event handler function
...
20070321163311-65035-987e7f25d1ab5335b79f44b277abf15e4e37d317.gz
2012-12-16 16:29:23 +00:00
zeeshan.ali@nokia.com
db1523ae60
rtpmux: Add RTPDTMFMux element
...
20070321145244-65035-9a01390b0dee3398e53199a1fa1d9352004f338e.gz
2012-12-16 16:29:19 +00:00
zeeshan.ali@nokia.com
97ff54dce7
rtpmux: Remove DTMF-specific code from RTP muxer and make it extendable
...
20070321123149-65035-b8a8f55ff78eed8cbb0042e827885edfc5438242.gz
2012-12-16 16:29:16 +00:00
zeeshan.ali@nokia.com
1a227ac7e5
rtpmux: Put more helpful description
...
20070320120524-65035-db27a7cf6307b511aeb3d996d26e790e367a7bad.gz
2012-12-16 16:29:13 +00:00
zeeshan.ali@nokia.com
d876c0d8cc
rtpmux: remove the (commented-out) code for blocking the pads
...
20070316151641-65035-0123af387951f88594797c722e882cfe70240aff.gz
2012-12-16 16:29:10 +00:00
zeeshan.ali@nokia.com
209228c44d
rtpmux: Drop buffers instead of blocking the sinkpads
...
20070316131444-65035-9c1345ad96108881f455d4b55a7f623cd302d0ed.gz
2012-12-16 16:29:05 +00:00
zeeshan.ali@nokia.com
795822ffa5
rtpmux: Implement stream locking, needed for DTMF
...
20070314171618-65035-e4d24b1606ce0a3e2e739f01833f61e4d7555eac.gz
2012-12-16 16:29:02 +00:00
zeeshan.ali@nokia.com
fd209faa56
rtpmux: use GST_*_OBJECT instead of g_*
...
20070314102058-65035-e2442888f2e3e5a3a7659ad7954a4fba34749ce2.gz
2012-12-16 16:28:58 +00:00
zeeshan.ali@nokia.com
b0208cb0a6
rtpmux: No need to manage pads, parent does that for us
...
20070314101854-65035-ef5f4abde227102a1128835ab325905eae4c3726.gz
2012-12-16 16:28:55 +00:00
zeenix@gmail.com
74e9071dad
rtpmux: Fix copyright header
...
20070314090358-d014a-3a6d3eeeaaf5cb8ca3bca6a33e99a551f598bd48.gz
2012-12-16 16:28:51 +00:00
zeeshan.ali@nokia.com
3c4cdf1541
rtpmux: The first implementation of RTP muxer
...
20070307085307-65035-833402413f99cb3f8be4883e92bad4c8722510c9.gz
2012-12-16 16:28:41 +00:00
Tim-Philipp Müller
b19122bac8
scaletempo: no need for a private struct
2012-12-15 21:27:01 +00:00
Tim-Philipp Müller
61913ab7b4
audiofx: move scaletempo element from -bad
...
https://bugzilla.gnome.org/show_bug.cgi?id=687262
2012-12-14 13:16:17 +00:00
Sebastian Dröge
314765c294
scaletempo: Fix event leak
2012-12-14 13:16:17 +00:00
Sebastian Dröge
490e408991
scaletempo: Fix timestamp tracking
2012-12-14 13:16:17 +00:00
Sebastian Dröge
502eb8d1b7
scaletempo: Implement LATENCY query
2012-12-14 13:16:17 +00:00
Sebastian Dröge
c7589817cb
scaletempo: Store instance private data in the instance struct
...
Getting it over and over again via G_TYPE_INSTANCE_GET_PRIVATE()
is really slow.
2012-12-14 13:16:17 +00:00
Tim-Philipp Müller
e552bd484f
scaletempo: use gst_element_class_set_static_metadata()
...
where possible. Avoids some string copies. Also re-indent
some stuff. Also some indent fixes here and there.
2012-12-14 13:16:17 +00:00
Mark Nauwelaerts
d2dd91ac47
scaletempo: replace gst_element_class_set_details_simple with gst_element_class_set_metadata
2012-12-14 13:16:17 +00:00
Wim Taymans
cb1743d578
scaletempo: ffmpegcolorspace is no more
2012-12-14 13:16:17 +00:00
Sebastian Dröge
93e1091d7f
scaletempo: Update for GST_PLUGIN_DEFINE() API changes
2012-12-14 13:16:17 +00:00
Mark Nauwelaerts
3286cdd542
scaletempo: port to 0.11
2012-12-14 13:16:16 +00:00
Stefan Kost
62d780cd51
scaletempo: improve the docs
...
Fix the syntax, add more explanation and xref the properties.
2012-12-14 13:16:16 +00:00
Chris E Jones
caf2b6cb5c
scaletempo: Correctly handle newsegment events with stop==-1
...
Fixes bug #645420 .
2012-12-14 13:16:16 +00:00
Stefan Kost
6d54058982
scaletempo: add missing G_PARAM_STATIC_STRINGS flags
...
Canonicalize property names as needed.
2012-12-14 13:16:16 +00:00
Benjamin Otte
38bc2dfb4a
scaletempo: gst_element_class_set_details => gst_element_class_set_details_simple
2012-12-14 13:16:16 +00:00
Thiago Santos
2d72ec153a
scaletempo: properly update new segments
...
Scaletempo was missing an update of 'stop' in
new segment parameters when pushing it downstream,
which caused files to end earlier when rate < 1.
Fixes #599903
Based on patch by: Bastian Hecht <hechtb@gmail.com>
2012-12-14 13:16:16 +00:00
Maximilian Högner
2fe7a97f1c
scaletempo: Explicitely cast to signed integers to fix a segfault
...
Fixes bug #585660 .
2012-12-14 13:16:16 +00:00
Michael Smith
1b1f6f56d6
scaletempo: Do not use void pointer arithmetic.
2012-12-14 13:16:16 +00:00
Stefan Kost
9284c85b33
scaletempo: Return the result of parent_class->event()
...
Original commit message from CVS:
* gst/audiofx/gstscaletempo.c:
Return the result of parent_class->event().
2012-12-14 13:16:16 +00:00
Rov Juvano
43e79f7769
Add scaletempo plugin, which allows to scale the speed of audio without changing the pitch by handling seeks with a r...
...
Original commit message from CVS:
Patch by: Rov Juvano <rovjuvano at users dot sourceforge dot net>
* configure.ac:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
* docs/plugins/inspect/plugin-scaletempo.xml:
* examples/scaletempo/Makefile.am:
* examples/scaletempo/demo-gui.c: (pop_status_bar),
(status_bar_printf), (demo_gui_seek_bar_format), (update_position),
(demo_gui_seek_bar_change), (demo_gui_do_change_rate),
(demo_gui_do_set_rate), (demo_gui_do_rate_entered),
(demo_gui_do_toggle_advanced), (demo_gui_do_toggle_disabled),
(demo_gui_do_seek), (demo_gui_do_play), (demo_gui_do_pause),
(demo_gui_do_play_pause), (demo_gui_do_open_file),
(demo_gui_do_playlist_prev), (demo_gui_do_playlist_next),
(demo_gui_do_about_dialog), (demo_gui_do_quit),
(demo_gui_request_set_stride), (demo_gui_request_set_overlap),
(demo_gui_request_set_search), (demo_gui_rate_changed),
(demo_gui_playing_started), (demo_gui_playing_paused),
(demo_gui_playing_ended), (demo_gui_player_errored),
(demo_gui_stride_changed), (demo_gui_overlap_changed),
(demo_gui_search_changed), (demo_gui_set_player_func),
(demo_gui_set_playlist_func), (build_gvalue_array),
(create_action), (demo_gui_show_func), (demo_gui_set_player),
(demo_gui_set_playlist), (demo_gui_show), (demo_gui_get_property),
(demo_gui_set_property), (demo_gui_init), (demo_gui_class_init),
(demo_gui_get_type):
* examples/scaletempo/demo-gui.h:
* examples/scaletempo/demo-main.c: (handle_error_message),
(handle_quit), (main):
* examples/scaletempo/demo-player.c: (no_pipeline),
(demo_player_event_listener), (demo_player_state_changed_cb),
(demo_player_eos_cb), (demo_player_build_pipeline), (_set_rate),
(demo_player_scale_rate_func), (demo_player_set_rate_func),
(_set_state_and_wait), (demo_player_load_uri_func),
(demo_player_play_func), (demo_player_pause_func), (_seek_to),
(demo_player_seek_by_func), (demo_player_seek_to_func),
(demo_player_get_position_func), (demo_player_get_duration_func),
(demo_player_scale_rate), (demo_player_set_rate),
(demo_player_load_uri), (demo_player_play), (demo_player_pause),
(demo_player_seek_by), (demo_player_seek_to),
(demo_player_get_position), (demo_player_get_duration),
(demo_player_get_property), (demo_player_set_property),
(demo_player_init), (demo_player_class_init),
(demo_player_get_type):
* examples/scaletempo/demo-player.h:
* gst/audiofx/Makefile.am:
* gst/audiofx/gstscaletempo.c: (best_overlap_offset_float),
(best_overlap_offset_s16), (output_overlap_float),
(output_overlap_s16), (fill_queue), (reinit_buffers),
(gst_scaletempo_transform), (gst_scaletempo_transform_size),
(gst_scaletempo_sink_event), (gst_scaletempo_set_caps),
(gst_scaletempo_get_property), (gst_scaletempo_set_property),
(gst_scaletempo_base_init), (gst_scaletempo_class_init),
(gst_scaletempo_init):
* gst/audiofx/gstscaletempo.h:
* gst/audiofx/gstscaletempoplugin.c: (plugin_init):
Add scaletempo plugin, which allows to scale the speed of audio without
changing the pitch by handling seeks with a rate!=1.0.
Integrate it into the docs and add the example application for it.
Fixes bug #537700 .
2012-12-14 13:16:15 +00:00
Havard Graff
9c94f1187c
jitterbuffer: bundle together late lost-events
...
The scenario where you have a gap in a steady flow of packets of
say 10 seconds (500 packets of with duration of 20ms), the jitterbuffer
will idle up until it receives the first buffer after the gap, but will
then go on to produce 499 lost-events, to "cover up" the gap.
Now this is obviously wrong, since the last possible time for the earliest
lost-events to be played out has obviously expired, but the fact that
the jitterbuffer has a "length", represented with its own latency combined
with the total latency downstream, allows for covering up at least some
of this gap.
So in the case of the "length" being 200ms, while having received packet
500, the jitterbuffer should still create a timeout for packet 491, which
will have its time expire at 10,02 seconds, specially since it might
actually arrive in time! But obviously, waiting for packet 100, that had
its time expire at 2 seconds, (remembering that the current time is 10)
is useless...
The patch will create one "big" lost-event for the first 490 packets,
and then go on to create single ones if they can reach their
playout deadline.
See https://bugzilla.gnome.org/show_bug.cgi?id=667838
2012-12-13 12:00:43 +01:00
Wim Taymans
a858bf46db
rtspsrc: fix TCP reconnect
...
Ignore other commands when reconnecting, otherwise the loop function would pause
and the reconnection would not happen. Continue looping after doing a reconnect
so that we have a chance to actually read the new data.
2012-12-13 09:30:59 +01:00
Philippe Normand
a8fa9f2b47
deinterleave: properly set srcpad channel position
...
The src pad caps always describe a single audio channel so only the
first position matters if deinterleave is configured to keep channel
positions in its src pads.
2012-12-12 11:20:56 +00:00
Wim Taymans
b1dc816772
rtspsrc: timeout on udpsrc is in nanoseconds
2012-12-12 11:09:42 +01:00
Wim Taymans
32bd981303
udpsrc: improve timeouts
...
Make it possible to set the timeout after we went to the READY state by using
the timeout when checking the condition. This also makes it possible to set the
timeout with a higher granularity than seconds.
2012-12-12 11:08:13 +01:00
Wim Taymans
abd7e33db6
deinterlace: add support for strides
...
Implement stride support correctly by taking it from the GstVideoFrame.
Propose a bufferpool upstream when not operating in passthrough.
2012-12-11 13:00:46 +01:00
Aleix Conchillo Flaque
3503aef946
rtspsrc: do not change state to PLAYING if currently chaning state
...
* gst/rtsp/gstrtspsrc.c (gst_rtspsrc_play): state change might be
happening in the application thread, so we don't change the state to
PLAYING in the gstrtspsrc thread unless it is safe.
A specific case is when chaning the state to NULL from the application
thread. This will synchronously try to stop the task (with the element
state lock acquired), but we will try a gst_element_set_state from
gstrtspsrc thread which will block on the element state lock causing a
deadlock.
https://bugzilla.gnome.org/show_bug.cgi?id=684312
2012-12-10 15:13:22 +01:00
Tim-Philipp Müller
672ab8fb5b
webmux: fix linking with shout2send element
...
Shout2send only accepts webm format, not matroska, but due
to a bug in matroskamux, webmmux's source pad is also created
with the matroska source pad template as pad template, which
makes the link function think it can't link webmmux to shout2send.
Also add unit test.
https://bugzilla.gnome.org/show_bug.cgi?id=689336
2012-11-30 17:22:34 +00:00
Wim Taymans
64cdbb77a9
rtspsrc: use new option parser function
2012-11-27 11:13:37 +01:00
Tim-Philipp Müller
5dee61a8d5
law: fix accidental file permissions change
...
https://bugzilla.gnome.org/show_bug.cgi?id=687469
2012-11-26 15:17:13 +00:00
Tim-Philipp Müller
314efb684b
qtdemux: avoid criticals if unknown fourcc has space at beginning or end
...
https://bugzilla.gnome.org/show_bug.cgi?id=682936
2012-11-25 14:16:09 +00:00
Tim-Philipp Müller
efaa80fbc6
videobox: fix border filling for planar YUV formats
...
We would get a green border instead of a black one, for
example.
https://bugzilla.gnome.org/show_bug.cgi?id=684991
2012-11-24 19:32:51 +00:00
Tim-Philipp Müller
ef6c16a32e
mulaw: const-ify some arrays
2012-11-24 14:27:33 +00:00
Roland Krikava
3be45f7022
mulawdec: fix integer overrun
...
There might be more than 65535 samples in a chunk of data.
https://bugzilla.gnome.org/show_bug.cgi?id=687469
2012-11-24 14:24:41 +00:00
Wim Taymans
5d0507c09e
rtspsrc: pause the task instead of spinning
...
Actually pause the loop task instead of spinning forever.
2012-11-22 11:34:31 +01:00
Joshua M. Doe
fe9fb8d8a7
videoflip: Add gray 8/16 support
2012-11-20 12:49:49 +01:00
Wim Taymans
c28bfa8902
rtspsrc: handle segment event
...
Make a segment event when we send a new range header to a client (first PLAY
request or after a seek). Send the segment event in interleaved mode.
Clean the segment event on cleanup
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=688382
2012-11-16 15:38:29 +01:00
Wim Taymans
bd91bd3193
rtspsrc: fix check for active streams
...
A stream can be active without a srcpad yet and we want to send
events on those streams as well.
2012-11-16 15:22:46 +01:00
Wim Taymans
11cf4d4fd3
rtspsrc: create and add pads outside of lock
...
Create and add the ghostpad for the new stream outside of the lock because it
is not needed and causes deadlocks.
2012-11-16 13:33:44 +01:00
Aleix Conchillo Flaque
6c855edf03
rtspsrc: allow client to disable reconnection
...
* gst/rtsp/gstrtspsrc.[ch]: added new "udp-reconnect" property. Before,
rtspsrc always tried to reconnect to the server when the RTSP
connection was closed by the server. This property lets the user
decide whether it wants rtspsrc to reconnect or not.
https://bugzilla.gnome.org/show_bug.cgi?id=683912
2012-11-16 12:55:10 +01:00
Wim Taymans
e2a4d28c1f
rtspsrc: clear variables before retrying
...
Else we might unref an old udpsrc twice in cleanup.
2012-11-16 12:17:37 +01:00
Wim Taymans
cc9cb26be1
rtspsrc: propose ports in multicast
...
When the user configured a port-range, propose ports from this range
as the multicast ports. The server is free to ignore this request but if it
honours it, increment our ports so that we suggest the next port pair for the
next stream.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=639420
2012-11-16 12:17:37 +01:00
Wim Taymans
5025b3f1b3
rtspsrc: add more debug
2012-11-16 12:17:37 +01:00