Julien Moutte
c3228fbb67
[MOVED FROM BAD 03/57] gst/flv/gstflvdemux.c: First method for seeking in pull mode using the index built step by step or coming from metadata.
...
Original commit message from CVS:
2007-08-14 Julien MOUTTE <julien@moutte.net>
* gst/flv/gstflvdemux.c: (gst_flv_demux_cleanup),
(gst_flv_demux_adapter_flush), (gst_flv_demux_chain),
(gst_flv_demux_pull_tag), (gst_flv_demux_do_seek),
(gst_flv_demux_handle_seek), (gst_flv_demux_sink_event),
(gst_flv_demux_src_event), (gst_flv_demux_query),
(gst_flv_demux_change_state), (gst_flv_demux_set_index),
(gst_flv_demux_get_index), (gst_flv_demux_dispose),
(gst_flv_demux_class_init): First method for seeking in pull
mode using the index built step by step or coming from metadata.
* gst/flv/gstflvdemux.h:
* gst/flv/gstflvparse.c: (FLV_GET_STRING),
(gst_flv_parse_metadata_item), (gst_flv_parse_tag_script),
(gst_flv_parse_tag_audio), (gst_flv_parse_tag_video): Parse
more metadata types and keyframes index.
2009-05-12 21:20:50 +02:00
Julien Moutte
11e27e7856
[MOVED FROM BAD 02/57] gst/flv/: Handle not linked pads, try to make it reusable, more safety checks.
...
Original commit message from CVS:
2007-07-25 Julien MOUTTE <julien@moutte.net>
(gst_flv_demux_chain), (gst_flv_demux_pull_tag),
(gst_flv_demux_change_state), (gst_flv_demux_dispose),
(gst_flv_demux_init):
* gst/flv/gstflvdemux.h:
* gst/flv/gstflvparse.c: (FLV_GET_STRING),
(gst_flv_parse_metadata_item), (gst_flv_parse_tag_script),
(gst_flv_parse_tag_audio), (gst_flv_parse_tag_video),
(gst_flv_parse_header):
* gst/flv/gstflvparse.h: Handle not linked pads, try to make it
reusable, more safety checks.
2009-05-12 21:20:49 +02:00
Julien Moutte
7a0d2df294
[MOVED FROM BAD 01/57] Adds a first draft of an FLV demuxer.
...
Original commit message from CVS:
2007-07-19 Julien MOUTTE <julien@moutte.net>
* configure.ac:
* gst/flv/Makefile.am:
* gst/flv/gstflvdemux.c: (gst_flv_demux_flush),
(gst_flv_demux_cleanup), (gst_flv_demux_chain),
(gst_flv_demux_pull_tag), (gst_flv_demux_pull_header),
(gst_flv_demux_seek_to_prev_keyframe), (gst_flv_demux_loop),
(gst_flv_demux_sink_activate),
(gst_flv_demux_sink_activate_push),
(gst_flv_demux_sink_activate_pull), (gst_flv_demux_sink_event),
(gst_flv_demux_change_state), (gst_flv_demux_dispose),
(gst_flv_demux_base_init), (gst_flv_demux_class_init),
(gst_flv_demux_init), (plugin_init):
* gst/flv/gstflvdemux.h:
* gst/flv/gstflvparse.c: (FLV_GET_BEUI24), (FLV_GET_STRING),
(gst_flv_demux_query_types), (gst_flv_demux_query),
(gst_flv_parse_metadata_item), (gst_flv_parse_tag_script),
(gst_flv_parse_tag_audio), (gst_flv_parse_tag_video),
(gst_flv_parse_tag_type), (gst_flv_parse_header):
* gst/flv/gstflvparse.h: Adds a first draft of an FLV demuxer.
It does not do seeking yet, it supports pull and push mode so
YES
you can use it to play youtube videos directly from an HTTP uri.
Not so much testing done yet but it parses metadata, reply to
duration queries, etc...
2009-05-12 21:20:49 +02:00
Sebastian Dröge
d94a71a4c5
rtp: Link to -lm
...
Fixes bug #582281 .
2009-05-12 13:00:46 +02:00
Tristan Matthews
39da7e523d
avidemux: initialize variable to 0
...
Fixes #582218 .
2009-05-11 21:02:27 +02:00
Sebastian Dröge
a1fe742e80
matroskademux: Only search for the index entry once
2009-05-11 18:21:13 +02:00
Sebastian Dröge
4cb39bc723
matroskademux: Use the first index entry if it's after the seek position
2009-05-11 18:18:36 +02:00
Sebastian Dröge
a62ed3b153
avidemux: Use the first entry for a given stream if the first entry is after the seek position
2009-05-11 18:15:22 +02:00
Sebastian Dröge
97fa58f397
avidemux: Use binary search for finding the requested index entry when seeking
2009-05-11 16:50:48 +02:00
Sebastian Dröge
e4909b37eb
matroskademux: Improve/optimize seeking
...
First of all a keyframe seek should be done to the
keyframe right before the requested position and not
to the keyframe that is nearest to the requested position.
Use per track index arrays and use our new binary search function
from core to speed up the search.
2009-05-11 15:36:46 +02:00
David Schleef
f01adcbc0f
matroska: fix printf format to agree with argument
2009-05-09 10:50:45 -07:00
Wim Taymans
a9e496d92f
rtj2kdepay: add basic JPEG 2000 depayloader
2009-05-08 11:35:02 +02:00
Wim Taymans
5ec808cf7e
rtpj2kpay: set marker bit correctly
2009-05-08 11:32:03 +02:00
Wim Taymans
a4dfd61a77
rtpj2kpay: add a simple JPEG 2000 payloader
2009-05-08 10:38:42 +02:00
Wim Taymans
ee1f1ae5d5
rtpjpegpay: we only need to swap bits on LE
2009-05-08 10:31:12 +02:00
Christian Schaller
bdf1698f35
Add RANKS for various encoders and muxers
2009-05-07 18:10:08 +01:00
Wim Taymans
bdbdb41e93
matroskademux: add some debugging
2009-05-07 17:10:43 +02:00
Wim Taymans
e4b59136fa
matroskademux: parse xiph headers length correctly
...
See #580980
2009-05-07 17:10:43 +02:00
Gabriel Bouvigne
3e0f1b84a4
rganalysis: Add ability to post level messages
...
Fixes bug #581568 .
2009-05-07 16:25:41 +02:00
Wim Taymans
e2a483f0f9
rtpjpegpay: refuse some unsupported jpeg formats
2009-05-06 23:56:44 +02:00
Wim Taymans
4ef9eee8b4
rtptheorapay: fix description
2009-05-06 18:06:49 +02:00
Wim Taymans
d87871f5f7
rtpjpegpay: rewrite quant table handling
...
Rewrite the quant table parsing to also handle multiple tables in one JPEG HDQ
segment.
Handle more jpeg types by keeping track of the tables used per component and
putting the used ones in the quant headers.
2009-05-06 16:11:49 +02:00
Wim Taymans
b7c5847dbd
rtpjpegpay: handle input with 1 quant table
...
Also handle input with just one quant table, simply duplicate the quant table.
Handle invalid SOF correctly and some small cleanups.
Fixes #578257
2009-05-06 12:56:58 +02:00
Marco Ballesio
8e7273076d
qtdemux: fix byte order swapping in 3GPP classification entity tag
...
Fixes #580746 .
2009-05-06 00:16:37 +03:00
Arnout Vandecappelle
439ca2c795
multipartdemux: avoid reading from inavlid memory
...
Read the timestamp of the incomming buffer before we push it in the adapter and
flush it out again as the buffer might be unreffed then and we read from invalid
memory.
Fixes #581444 .
2009-05-05 17:07:13 +02:00
Arnout Vandecappelle
3f2144c5ee
multipartdemux: don't leak dynamic pads
...
Free the dynamic pads data in finalize.
Fixes #581432
2009-05-05 17:03:29 +02:00
Wim Taymans
0f1033c59f
rtpjpegpay: correctly set the type header
...
Don't require width/height on the caps. Use the SOF header to find width/height
and fall back to the caps if there is no SOF. Also use the SOF info to find the
subsampling and quantization tables used. This allows us to set the right type
value in the JPEG rtp header.
Deprecate the quality property, it's unused now and it was used wrongly before.
Always send full quant tables for now until we have some code to detect default
ones.
Fixes #580880
2009-05-05 16:32:17 +02:00
Wim Taymans
7c59f39bfe
rtpjpegdepay: use width/height from payload
...
Use the width and the height from the payload headers and set them on the
output caps for added awesomeness.
Fix quant parsing, we need to check the type in the lower 6 bits.
Add first bits of caching quantization tables.
2009-05-05 16:28:44 +02:00
Wim Taymans
732704c007
rtspsrc: Fix find_stream_by_* functions
...
Fix various version of find_stream_by_* by not trying to convert an int to a
pointer and vice versa, for portability reasons.
Fixes #581333
2009-05-04 18:55:12 +02:00
Chris Winter
752cfb16fe
rtspsrc: fix dummy nat packet logic
...
Fix a typo in the dummy NAT packet sending code.
Fixes #581329
2009-05-04 18:32:05 +02:00
Mark Nauwelaerts
959a9b494b
rtspsrc: avoid errors after server eof
...
Server eof (e.g. connection closed) is announced as connection closed,
so better record state and act accordingly to prevent (read/write)
errors during subsequent teardown/cleanup sequences. #Fixes 580851.(c).
2009-05-04 17:01:35 +02:00
Mark Nauwelaerts
734548a34f
rtspsrc: also set base_time on src after flush
...
timestamps following flush/seek should be consistent between
UDP and TCP interleaved case. Fixes #580851.(b).
2009-05-04 17:01:28 +02:00
Mark Nauwelaerts
20c7be5741
rtspsrc: sanity checks on range info
...
A max range that overflows should not be trusted,
nor should a max range that equals the min range.
Fixes #580851.(a).
2009-05-04 17:01:20 +02:00
Wim Taymans
56656dd03d
rtspsrc: use SKIP flag to use SCALE headers
...
We can use the SKIP seek flag to instruct the server to send data faster then
normal but with the same bandwidth.
Fixes #537609
2009-05-04 16:18:23 +02:00
Wim Taymans
70d1b6e1ae
qtdemux: use binary search for index
...
Use the new binary search method for finding the right index entry faster.
2009-05-04 12:35:19 +02:00
Wim Taymans
9ea2c113ba
videobox: draw the complete U and V planes
...
Round up the scaled U and V width and height so that we always draw the correct
amount of pixels to fill the complete image.
Fixes #569611
2009-05-04 11:26:56 +02:00
Wim Taymans
1619c09e3e
qtdemux: add some more micro optimisations
2009-05-01 19:35:11 +02:00
Wim Taymans
ab0d1bc942
qtdemux: micro optimize qtdemux a little
...
Sprinkle some G_LIKELY around.
Avoid traversing and dumping the tree when debugging is not activated.
2009-04-30 18:41:44 +02:00
Wim Taymans
b5d84439fd
qtdemux: add support for subtitle pictures
...
Add support for subtitle pictures.
Fixes #568278 .
2009-04-30 14:22:27 +02:00
Wim Taymans
de0a2575fc
rtspsrc: release state lock before stopping task
...
We need to release the state lock before trying to wait for the task to end
because the task might also take the lock.
Fixes #577671
2009-04-29 18:09:07 +02:00
Hans de Goede
6cfa856381
qtdemux: handle ac-3 audio
...
fix demuxing of m4v streams with ac-3 audio
Fixes #580554
2009-04-29 12:19:27 +02:00
Wim Taymans
b3782442ae
udpsrc: fix getaddrinfo error reporting
...
getaddrinfo errors should be reported with gai_strerror instead of errno as
spotted by MikeS.
2009-04-27 18:00:17 +02:00
Wim Taymans
f33501ad4b
g726pay: fix compilation
2009-04-27 10:08:55 +02:00
Wim Taymans
84c3d1a2c8
g726pay: add RFC compliant packetizing
...
Shuffle the input bits according to RFC 3551 for G726 payloads.
Add option to force the previous behaviour.
Fixes #567140
2009-04-27 10:08:55 +02:00
Wim Taymans
e213debe8e
g726depay: add debug category
...
Add a debugging category, add some comments and remove _peek_parent().
2009-04-27 10:08:55 +02:00
Tim-Philipp Müller
a85d7b7059
id3demux: parse unsynchronised tags properly
...
We didn't handle unsynchronization at all up to now, which might have
caused frames to not be extracted - esp. frames after an APIC picture
frame. Fixes #577468 .
2009-04-24 01:58:23 +01:00
Tim-Philipp Müller
19117a39fe
id3demux: pass the right size value for size of all frames to the parser
...
Frame data size is tag size adjusted for size of the tag header and
footer, not tag size including header and footer.
2009-04-24 01:05:40 +01:00
Patrick Radizi
5b86c66e8a
rtspsrc: fix some more pad leaks
...
Fix some pad leaks.
See #577318 .
2009-04-22 15:27:24 +02:00
Michael Smith
922c9f529a
qtdemux: override caps based on data from ESDS atoms in mpeg4.
...
If the codec is actually something else (e.g. mjpeg) change the caps to
match when parsing the ESDS atom.
Also, for AAC, override rate and channels with correct values read from
ESDS, since the rate/channels values elsewhere are often wrong.
2009-04-21 14:04:07 -07:00
Jan Schmidt
a097571c0a
udp: Fix a simple typo in the previous commit
...
Use #ifdef instead of #if, to fix the build
2009-04-20 17:26:11 +01:00
Andy Wingo
07dcbacd60
only use struct ip_mreqn if it is detected
...
* configure.ac: Make an explicit check for struct ip_mreqn.
* gst/udp/gstudpnetutils.c: Use HAVE_IP_MREQN instead of the ad-hoc checks.
2009-04-20 15:54:31 +02:00
Mark Nauwelaerts
cfcf76df11
Fix push mode buffering sanity check to actually fit the description.
2009-04-20 13:49:03 +02:00
Edward Hervey
1183015954
rtph263pay: And let's not forget to remove the unused variable.
2009-04-18 19:11:06 +02:00
Edward Hervey
1554c6637f
rtph263pay: Remove dead assignments, the variables are never read after.
2009-04-18 18:51:30 +02:00
Edward Hervey
3efcf936e1
rtpmp4vpay: Remove dead assignment. The value is never read after.
2009-04-18 18:51:29 +02:00
Edward Hervey
4c60f9ef29
rtspsrc: Remove dead assignment.
...
t is being overwritten after, before it's used.
2009-04-18 18:51:29 +02:00
Edward Hervey
84b6d07c75
rtpamrdepay: Remove unneeded variable, the value is only read once.
2009-04-18 18:51:29 +02:00
Edward Hervey
f6b774fbcc
rtpamrpay: Remove unneeded variable, the value is only read once.
2009-04-18 18:51:29 +02:00
Edward Hervey
f6458e2c4c
goom/filters: Remove dead assignment. Value overwritten just after.
2009-04-18 18:51:29 +02:00
Edward Hervey
bf9c2067cf
rtpvorbispay: Remove dead assignment. Value never read after.
2009-04-18 18:51:29 +02:00
Edward Hervey
58a7c2ad8d
rtptheorapay: Remove dead assignment. Value never read after.
2009-04-18 18:51:29 +02:00
Edward Hervey
8cf696a1f1
rtptheoradepay: Remove unused variable, it's never being read.
2009-04-18 18:51:29 +02:00
Edward Hervey
45c6690e26
rtspsrc: Remove dead assignment. 'res' isn't read after.
2009-04-18 18:51:29 +02:00
Edward Hervey
817d7a30c3
rtspsrc: Remove unused variable. 'res' is never read.
2009-04-18 18:51:29 +02:00
Edward Hervey
08a090c89c
rtspsrc: Remove dead variable. 'stream' is never read after.
2009-04-18 18:51:29 +02:00
Edward Hervey
971fbb246b
videbox: Remove dead assignments.
...
These variables are never read after this point.
2009-04-18 18:51:28 +02:00
Edward Hervey
c185a8db9d
goom: ff and iff are only used in a '#ifdef DRAW_MOTIF' block.
2009-04-18 18:51:28 +02:00
Edward Hervey
5c52506d07
wavparse: Remove dead assignment.
...
res isn't read after this.
2009-04-18 18:51:28 +02:00
Edward Hervey
44256a78f8
wavparse: Remove dead assignments, move variable to where it's needed.
...
The header_read_error label will return GST_FLOW_ERROR
2009-04-18 18:51:28 +02:00
Edward Hervey
a12d9a80f2
rtpvrawdepay: Remove dead assignment.
...
The value of 'str' will never be used in these cases.
2009-04-18 18:51:28 +02:00
Edward Hervey
b28c6ca0fb
matroskademux: Remove useless variable.
...
iret was never read outside of that loop, and is always being exited if
iret was != GST_FLOW_OK anyway.
2009-04-18 18:51:28 +02:00
Edward Hervey
1086c63827
avidemux: Move 'res' to where it's actually being used.
...
res was never used outside of that block except for a dead assignment.
2009-04-18 18:51:28 +02:00
Edward Hervey
a299e86cfc
audiofx: Remove unused variable.
...
rz is never used in these methods.
2009-04-18 18:51:28 +02:00
Edward Hervey
0cb5b42d54
Remove trivial unused variables detected by CLang static analyzer.
2009-04-18 18:51:28 +02:00
Edward Hervey
cdb03bdc2b
Remove blank {set|get}_property/change_state/finalize methods.
2009-04-18 18:51:27 +02:00
Edward Hervey
4a9e80720a
Remove unused variables in _class_init
...
Detected by LLVM's CLang static analyzer
2009-04-18 18:51:27 +02:00
Josep Torra
dfb375daa1
rtspsrc: mark discont on the streams as was said the debug line
...
After a seek mark all streams with discont as it was said in the debug line.
Fixes that buffers after a seek are generated without a valid timestamp.
2009-04-18 14:32:40 +02:00
Josep Torra
ec2d6053a0
rtspsrc: map GST_RTSP_EEOF to EOS on server requests
...
Permit properly handle the EOS condition when server report it in a request.
2009-04-18 08:50:46 +02:00
Edward Hervey
f9d7640bc9
rtptheoradepay: Fix build on macosx.
...
Use G_GSIZE_FORMAT instead of u.
2009-04-18 08:39:57 +02:00
James Andrewartha
ac48c2d211
rtph263pay: fix compilation on big-endian
...
Some semicolons were missing from the big-endian structs in gstrtph263pay.h.
A GST_DEBUG call was missing a format specifier.
Fixes #579069
2009-04-15 19:26:22 +02:00
Marco Ballesio
94d5d24cf0
qtdemux: implement 3GPP (TS 26.244 V8.0.0) Asset metadata handling, Fixes #132193
...
Implements 3gpp iso metadata tags which are different from mov udta atoms.
2009-04-15 20:14:19 +03:00
Peter Kjellerstedt
af7f3a50dd
debugutils: Use G_BEGIN_DECLS/G_END_DECLS.
...
Use G_BEGIN_DECLS/G_END_DECLS to avoid gst-indent messing up the
indentation due to extern "C" { }.
2009-04-15 15:51:24 +02:00
Stefan Kost
7be792fa13
debug: rename debug to debugutils to avoid clash with --disable-debug. Fixes #562168
2009-04-15 16:13:34 +03:00
Stefan Kost
99fcc86ee4
debug: indent before renaming
2009-04-15 16:13:34 +03:00
Wim Taymans
787124dad6
g726depay: add property for aal2 force
2009-04-15 14:07:57 +02:00
Wim Taymans
0802ba8730
g726depay: implement RFC3551 packing
...
We implemented the AAL2 packing, add the encoding-name for those to the caps and
a property to force AAL2 decoding (always TRUE for now).
Implement RFC3551 unpacking for regular G726.
See #567140 .
2009-04-15 13:56:17 +02:00
Wim Taymans
c34d5aa016
rtph263pay: fix build
2009-04-15 00:22:43 +02:00
Youness Alaoui
17d9cb3319
h263pay: various fixes
...
Re-enable mode A support and a property to control it.
Fix memory leak of GstRtpH263PayBoundry objects.
Fix marker.
Fixes #509311
2009-04-14 18:52:48 +02:00
Janin Kolenc
de2c489526
h263pay: Fix the payloader
...
Fix the H263 payloader to be more RFC 2190 compliant.
See #509311
2009-04-14 18:44:51 +02:00
Wim Taymans
cb344828a4
avidemux: don't push EOS in streaming mode
...
In streaming mode, avidemux is not supposed to send an EOS event downstream but
it is supposed to return UNEXPECTED from the chain function instead so that
upstream can do the right EOS handling.
2009-04-14 17:27:05 +02:00
Sebastian Dröge
108774781d
Add initial support for muxing/demuxing Speex audio
...
Note: This is not in the Matroska spec yet
Fixes bug #578310 .
2009-04-13 14:03:03 +02:00
LRN
3e7aede3ea
avidemux: add convert query, fix duration query
...
Fix the duration query so that it also works with formats other than
TIME, such as DEFAULT to get the number of frames.
Add a convert function.
Fixes #578052 .
2009-04-10 00:26:44 +02:00
Stefan Kost
1095e624ec
wavparse: don't leak pad-template
...
gst_element_class_add_pad_template() does not take ownership.
2009-04-07 22:36:39 +03:00
Zaheer Merali
988a4c6532
Fix grammar.
2009-04-03 09:57:15 +01:00
Wim Taymans
b6bf3ba7d3
rtspsrc: allow http:// on the proxy setting
...
Allow and ignore http:// at the start of the proxy setting, like
souphttpsrc.
Fixes #573173
2009-04-02 22:41:01 +02:00
Wim Taymans
40f6ed8875
rtspsrc: don't leak the udpsrc pad
...
Fix memory leak in rtspsrc because we didn't unref the udpsrc pad.
See #577318
2009-04-02 21:08:48 +02:00
Michael Smith
85d7fb0599
rtptheorapay: fix length encoding in packed headers.
...
As for vorbis payloader; this by inspection had the same bug.
2009-04-01 17:31:18 -07:00
Michael Smith
5f9d9e2243
rtpvorbispay: in packed headers, properly flag multibyte lengths.
...
In the sequence of header lengths, for headers >127 bytes, we use
multiple bytes to encode the length. Bytes other than the last must have
the top (flag) bit set.
2009-04-01 17:23:33 -07:00
Tim-Philipp Müller
cb15d09c4a
rtspsrc: don't emit ugly warnings with older rtpjitterbuffer versions
...
The on-npt-stop signals was added only recently to rtpjitterbuffer in
-bad, so check if the signal exists before g_signal_connect()ing to
it, to avoid warnings.
2009-04-01 12:29:33 +01:00
Wim Taymans
b037369d5b
rtspsrc: add proxy support
2009-03-31 19:08:37 +02:00