Sebastian Dröge
74e717038f
rmdemux: Don't use buffer after unreffing
2012-01-09 16:00:18 +01:00
Sebastian Dröge
58787102e9
asfdemux: Only change writable caps and make sure to set updated caps on the srcpad
2012-01-09 15:46:10 +01:00
Wim Taymans
a2dee80838
dvdlpcmdec: fix for multichannel
2012-01-05 12:17:20 +01:00
Sebastian Dröge
7fea0ed2f5
dvdlpcmdec: Port to the new raw audio caps
2012-01-05 10:37:04 +01:00
Sebastian Dröge
e3f1b21660
asfdemux: Update for libgstriff API changes
...
Still needs to handle audio channel reordering.
2012-01-05 10:37:04 +01:00
Wim Taymans
f9d64ff495
GST_FLOW_UNEXPECTED -> GST_FLOW_EOS
2012-01-03 15:27:42 +01:00
Mark Nauwelaerts
cacc663b35
dvddemux: tweak subtitle stream setup based on dvd language codes event
...
... to allow for non-continuous subtitle stream numbers.
The missing stream numbers tend to come up as subtitle streams anyway
(albeit not with an identified language tag).
2011-12-21 22:07:27 +01:00
Tim-Philipp Müller
da9f20eceb
Work around deprecated thread API in glib master
...
Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We can't change most of
these in 0.10 because they're part of our API and ABI.
Suppress deprecation warnings in selected files, mostly for
g_static_rec_mutex_*. StaticRecMutex is part of our API/ABI,
not much we can do here in 0.10.
2011-12-12 11:33:31 +00:00
Tim-Philipp Müller
15cd0c5e36
rdtdepay: make buffer metadata writable before setting caps on it
...
Fixes issue when the header buffer is being pushed, which was taken
from the caps and is therefore not writable.
2011-12-09 15:25:21 +00:00
Edward Hervey
fb335d6fc1
rtpasfdepay: Initialize GstRTPBuffer before usage
2011-12-05 18:43:49 +01:00
Wim Taymans
436cc30a94
update for clock provider API change
2011-11-28 17:52:52 +01:00
Vincent Penquerc'h
213ce049ad
various: fix pad template ref leaks
...
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:10:01 +00:00
Matej Knopp
4b57b9288b
Fix print format compiler warnings on OS X / 64bit
...
https://bugzilla.gnome.org/show_bug.cgi?id=662617
2011-11-23 23:23:29 +00:00
Wim Taymans
03bc286c64
update for activation changes
2011-11-21 13:36:10 +01:00
Wim Taymans
8eca58a50e
update for new scheduling query
2011-11-18 18:00:28 +01:00
Wim Taymans
df3e30ed7e
add parent to activate functions
2011-11-18 13:59:29 +01:00
Wim Taymans
2679b9432a
add parent to pad functions
2011-11-17 15:25:58 +01:00
Wim Taymans
ee240c1ac0
add parent to query function
2011-11-16 17:28:56 +01:00
Wim Taymans
d338e41a85
_query_peer_*() -> _peer_query_*()
2011-11-15 17:55:36 +01:00
Wim Taymans
3aa7fa6aea
_accept_caps() -> _query_accept_caps()
2011-11-15 17:42:32 +01:00
Tim-Philipp Müller
074330bf16
Update for GstURIHandler get_protocols() changes
2011-11-13 23:47:46 +00:00
Tim-Philipp Müller
4db445cf84
dvdreadsrc, pnmsrc: update for GstURIHandler changes
2011-11-13 19:01:31 +00:00
Tim-Philipp Müller
8d44d7ded7
mpegstream: remove the old mpeg-ps parser and demuxers
...
Don't want anyone porting this by accident.
Superseded by mpegpsdemux in -bad.
2011-11-13 00:07:02 +00:00
Wim Taymans
115e7cbd7f
update for base class rename
2011-11-11 12:33:51 +01:00
Wim Taymans
ea1537a4a8
update for base class rename
2011-11-11 12:25:25 +01:00
Tim-Philipp Müller
0983339a6e
iec958: remove this plugin
...
I think it can just go away. Audio sinks can and should payload
things themselves using the helper API in libgstaudio. If such
a plugin still makes sense, it should probably be rewritten
using the library functions (and be put into -good or so).
2011-11-10 23:17:53 +00:00
Wim Taymans
df031523f8
update for adapter api change
2011-11-10 18:25:38 +01:00
Wim Taymans
6a7345c98d
remove query types
2011-11-09 11:58:03 +01:00
Wim Taymans
839773dbed
realmedia is ported
2011-11-04 17:32:58 +01:00
Wim Taymans
85c1707fcf
more template fixes
2011-11-04 16:42:31 +01:00
Wim Taymans
3925721cd1
make request pads take %u
2011-11-04 12:04:56 +01:00
Wim Taymans
e59ba7ca05
tags: update for tag API removal
2011-11-02 12:09:45 +01:00
Wim Taymans
c944e225c8
structure: fix for api update
2011-11-02 09:09:26 +01:00
Tim-Philipp Müller
d919b7b0f4
Merge remote-tracking branch 'origin/master' into 0.11
2011-10-31 14:34:57 +00:00
Tim-Philipp Müller
2a755f15af
lame: remove lame element, it's been superseded by lamemp3enc
2011-10-30 13:47:26 +00:00
Tim-Philipp Müller
1905e95cea
ext, gst: update for taglist API changes
2011-10-30 11:51:58 +00:00
Edward Hervey
daecb74456
asfdemux: Don't leak pending payload buffers
...
Fixes #662964
2011-10-29 11:57:40 +02:00
Tim-Philipp Müller
211fd04773
asfdepay: fix compiler warnings after gst_caps_new_simple() change
2011-10-28 09:18:04 +01:00
Edward Hervey
82a8cc6807
asfdemux: Don't unmap a buffer that doesn't exist
2011-10-11 18:03:01 +02:00
Wim Taymans
e06c2d881b
dvdsub: port to 0.11
2011-10-06 17:24:22 +02:00
Wim Taymans
9a7cbf8f0a
realmedia: port to 0.11
2011-10-05 13:18:45 +02:00
Wim Taymans
43a6c74eca
dvdlpcmdec: port to 0.11
2011-09-27 20:32:46 +02:00
Wim Taymans
854f4d846b
Merge branch 'master' into 0.11
...
Conflicts:
ext/mad/gstmad.c
2011-09-26 19:07:23 +02:00
Mark Nauwelaerts
eee31aecb3
asfpacket: skip empty payload packets
...
... which also avoids assertion failures and possible segfaults later on
when possibly trying to join 2 empty buffers.
2011-09-08 17:02:27 +02:00
Tim-Philipp Müller
700d8b1c28
rmdemux: delay announcing container tags until we have pads
...
Fixes tags when transcoding.
https://bugzilla.gnome.org/show_bug.cgi?id=658297
2011-09-08 14:33:00 +01:00
Wim Taymans
d4f1303f57
asf: don't use fourcc
2011-08-25 13:04:01 +02:00
Wim Taymans
8ab84f0f8a
Merge branch 'master' into 0.11
...
Conflicts:
common
gst/asfdemux/gstrtpasfdepay.c
2011-08-03 18:58:09 +02:00
Tim-Philipp Müller
2e6d295b8b
Remove mp3parse plugin/element
...
It's been replaced by mpegaudioparse in -good. Don't want anyone
to spend time porting a deprecated element. Rename plugin to xingmux
for now until we move that somewhere else.
2011-08-03 01:08:43 +01:00
Edward Hervey
0a593a1e98
asfdemux: Fix for changes in GstQuery API
2011-08-02 12:40:22 +02:00
Edward Hervey
8281683027
asfdemux: Fix print statement
2011-08-02 12:40:01 +02:00
Thiago Santos
6649f6cfa0
rtspwms: Porting to 0.11
2011-06-20 00:36:59 -03:00
Thiago Santos
77106101fa
rtpasfdepay: Port to 0.11
2011-06-20 00:36:59 -03:00
Thiago Santos
2dc2be5e7b
asfdemux: Porting to 0.11
2011-06-20 00:36:59 -03:00
Mark Nauwelaerts
3ba6d1588f
rtpasfdepay: fix fragmented packet handling and packet padding
...
Also remove a bogus assert.
2011-06-06 12:55:02 +02:00
Stefan Kost
2965dbac47
synaesthesia: fix wrong debug log string (copy'n'paste)
2011-06-03 11:35:55 +03:00
Wim Taymans
13c252b2a8
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
2011-06-02 18:46:11 +02:00
Stefan Kost
a184490e6c
rmdemux: target is unsigned and can't be < 0
2011-05-20 13:32:31 +03:00
Mark Nauwelaerts
58e445d91f
rtpasfdepay: simplify and refactor packet parsing
...
Specifically, refactor buffer padding and consider marker bit for fragment
assembling.
2011-05-16 12:53:27 +02:00
Mark Nauwelaerts
4f2627e737
rtpasfdepay: avoid re-sending header
...
... e.g. following a seek, which otherwise confuses downstream demuxer
expecting only a flow of data packets at this time.
2011-05-16 12:53:24 +02:00
Mark Nauwelaerts
81f62a987a
rtpasfdepay: remove unused field
2011-05-16 12:53:20 +02:00
Wim Taymans
98729bc82c
Merge branch 'master' into 0.11
...
Conflicts:
android/amrnb.mk
android/amrwbdec.mk
android/asf.mk
android/mpegaudioparse.mk
configure.ac
2011-04-19 19:23:56 +02:00
Tim-Philipp Müller
59ced3ae36
rademux: fix two 'variable may be used uninitialized' warnings caused by -DG_DISABLE_ASSERT
2011-04-16 23:23:56 +01:00
Tim-Philipp Müller
120731ee4e
mpegstream: fix unused-but-set-variable warnings with gcc 4.6
2011-04-14 15:04:19 +01:00
Tim-Philipp Müller
81173fcbad
asfdemux: fix unused-but-set-variable warnings with gcc 4.6
2011-04-14 15:03:33 +01:00
Thibault Saunier
1e6a607e01
android: make it ready for androgenizer
...
To build gstreamer for android we are now using androgenizer which
generates the needed Android.mk files.
Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 07:31:13 +02:00
Sebastian Dröge
101e8a024f
dvdsubdec: Rearrange buffer allocation and pushing code a bit
...
This makes the code easier to read, doesn't store every buffer
in the instance until the next buffer is to be drawn and
fixes an unitialized variable compiler warning.
2011-03-15 11:02:42 +01:00
Brendan Le Foll
1c1868682e
dvdsubdec: Output only a single buffer per subpicture and set the correct duration
...
Fixes bug #619136 .
2011-03-15 10:59:23 +01:00
Brendan Le Foll
a72cc73798
dvdsubdec: Implement clipping if the video size is smaller than the subpicture size
...
Fixes bug #644704 .
2011-03-14 18:40:40 +01:00
Wim Taymans
90ec31fbd9
Merge branch 'master' into 0.11
2011-03-04 13:48:02 +01:00
Stefan Kost
253afc02c9
dvddemux: small code cleanup
...
Don't duplicate the 'if' check. Makes the 2nd condition easier to read also
and avoid empty 'if' when logging is disabled.
2011-03-02 13:12:11 +02:00
Wim Taymans
62efb84c19
Merge branch 'master' into 0.11
...
Conflicts:
configure.ac
2011-02-26 15:02:58 +01:00
Stefan Kost
9424c553b9
index: use delta frame flags instead of 0 or none
2011-02-17 18:05:58 +02:00
Edward Hervey
67f754a9ea
asfpacket: Avoid using broken duration extension
...
Quite a few (broken?) files have a packet duration of 1ms, which is
most definitely wrong for either audio or video packets.
We therefore avoid using that value and instead use other metrics to
determine the buffer duration (like using the extended stream properties
average frame duration if present and valid).
2011-01-30 16:17:19 +01:00
Yang Xichuan
904d0b9b60
xingmux: Use FALSE instead of 0 as return value for a function returning gboolean
...
Fixes bug #639291 .
2011-01-24 19:44:41 +01:00
Vincent Penquerc'h
7e6125fc8f
mpegstream: increase allowable gap between streams
...
The new delay is three times as much as the old one, and just happens
to let me properly decode my "Princess Mononoke" DVD, on which dvdreadsrc
was chocking before at 5:11.
While there, merge the constants used in two places into a define.
https://bugzilla.gnome.org/show_bug.cgi?id=539708
2011-01-24 19:44:41 +01:00
Edward Hervey
6eb48af87c
asfdemux: Handle new type of DRM'd asf files.
...
These are produced by the new MS PlayReady system.
https://bugzilla.gnome.org/show_bug.cgi?id=639226
2011-01-11 17:51:31 +01:00
Edward Hervey
65ac3e727b
rmdemux: Initialize return variable.
...
In the unlikely event that height is 0 (which is invalid) we would end up
never setting the flow return.
2011-01-06 13:15:17 +01:00
Edward Hervey
c849e854a8
realmedia: Fix unitialized variables on macosx
2011-01-05 16:52:03 +01:00
Vincent Penquerc'h
878781c6a7
realmedia: do not use the pad buffer allocation functions in demuxers
...
Doing so can block, see https://bugzilla.gnome.org/show_bug.cgi?id=637822
https://bugzilla.gnome.org/show_bug.cgi?id=637932
2010-12-24 14:15:48 +01:00
Rob Clark
987c199370
rmdemux: set GST_BUFFER_FLAG_DELTA_UNIT properly
...
Signed-off-by: Rob Clark <rob@ti.com>
2010-12-13 14:51:53 -06:00
Edward Hervey
f4031d19a6
realmedia: Remove dead assignments
2010-11-25 19:51:50 +01:00
Tim-Philipp Müller
d128f5fab1
realmedia: fix LIBS order in Makefile
2010-10-28 17:04:24 +01:00
Edward Hervey
fe3e26bee4
realmedia: Get codec name from pbutils instead of harcoding them
2010-10-24 14:25:49 +02:00
Stefan Kost
26cd4ee3a0
various: canonicalize property names
2010-10-19 12:24:13 +03:00
Stefan Kost
91f9b986a1
various (gst): add a missing G_PARAM_STATIC_STRINGS flags
2010-10-19 09:51:23 +03:00
Tim-Philipp Müller
ccb624ec03
mpegparse: re-fix flow return handling
...
Fix wrong GST_FLOW_IS_SUCCESS substitution in commit e99cb46c
:
- } while (GST_FLOW_IS_SUCCESS (result));
+ } while (result != GST_FLOW_OK);
2010-09-15 20:19:26 +01:00
Sebastian Dröge
bd65afed85
xingmux: Don't ignore WRONG_STATE and NOT_LINKED when pushing data downstream
2010-09-04 14:57:51 +02:00
Sebastian Dröge
e99cb46c60
mpegstream: Don't use GST_FLOW_IS_SUCCESS()
2010-09-04 14:57:51 +02:00
Sebastian Dröge
f3fa6f6de0
rmdemux: Don't use GST_FLOW_IS_FATAL() and GST_FLOW_IS_SUCCESS()
2010-09-04 14:57:51 +02:00
Sebastian Dröge
704b371944
asfdemux: Don't use GST_FLOW_IS_FATAL()
...
And don't post error messages for UNEXPECTED and post an error
message if pulling data failed because of NOT_LINKED.
2010-09-04 14:57:51 +02:00
Edward Hervey
776a09149e
asfdemux: Don't error out on non-critical flow returns
...
Only error out when downstream returns:
* NOT_SUPPORTED
* ERROR
* NOT_NEGOTIATED
* NOT_LINKED
If we got _UNEXPECTED, we push an EOS downstream (since maybe only one
of the streams had gone EOS) and then stop the task silently.
In the case of WRONG_STATE we just need to stop silently
https://bugzilla.gnome.org/show_bug.cgi?id=600412
2010-08-27 17:59:12 +02:00
Alessandro Decina
2ca354e3ab
mp3parse: propagate flow errors upstream.
...
Remove a wrong GST_FLOW_IS_FATAL call. When pushing fails, mp3parse should
always return the error upstream.
2010-08-25 15:39:33 +02:00
Stefan Kost
73cc65fa88
synaesthesia: code cleanups.
...
Remove unused boilerplate for signals. Use _OBJECT variants of logging macros
more.
2010-08-10 14:37:39 +03:00
Stefan Kost
ed9fd645ad
synaesthesia: use GST_BOILERPLATE macros
2010-08-10 14:29:05 +03:00
Thiago Santos
81dfce4095
asfdemux: Fix seeking after last commits
...
Don't handle wrong-state returns as errors to allow seeking to work
again.
2010-06-28 09:34:30 -03:00
Thiago Santos
36e12c92c1
asfdemux: Push all pending data on EOS
...
When on push mode and receiving an EOS event, asfdemux
should push all pending data because we might be dealing
with a broken file that has a preroll value higher
than its actual length.
2010-06-24 19:46:39 -03:00
Thiago Santos
ec3b13a250
asfdemux: Fix sending eos event for chained asfs
...
Properly push EOS event when finishing a chained asf file
in pull mode
Fixes #599718
2010-06-24 19:29:17 -03:00
Tim-Philipp Müller
6f5dabb71f
rmdemux: fix compiler warning when debugging system in core is disabled
2010-06-24 18:03:21 +01:00
Edward Hervey
5ac4ea3f1b
asfdemux: Allow at least 500ms of preroll.
...
Some files have insanely low preroll values which break the
all_streams_prerolled() logic.
Fixes #622407
2010-06-23 11:06:54 +02:00
Sebastian Dröge
602fb1319a
configure: Update required GLib version to 2.20
2010-06-14 16:59:25 +02:00
Wim Taymans
2c469df530
rmdemux: pass bitrate on caps
...
Set the bitrate on the caps, some decoders like sipro need this to function
properly.
Fixes #620007
2010-06-05 14:13:02 +02:00
Wim Taymans
4044046ac1
rmdemux: add better sipr nibble swap routine
2010-05-14 16:02:47 +02:00
Wim Taymans
a68951f0bb
rmdemux: descramble SIPR before pushing out
...
Collect and descramble the SIPR packets before pushing.
Descramble ATRAC audio.
Fixes #618098
2010-05-13 17:57:57 +02:00
Wim Taymans
0b73505c61
rm: add function to descramble sipr
2010-05-13 17:57:02 +02:00
Tim-Philipp Müller
d7dc396878
rtspreal: use GLib's base64 functions if available
...
Since gst_rtsp_base64_decode_ip() just got deprecated in -base git.
2010-04-30 19:53:15 +01:00
Stefan Kost
c22772a5bb
ac3parse: remove unported 0.8 plugin
...
New ac3parse lives in gst-plugin-bad. Remove this to avoid confusion.
2010-04-27 13:15:47 +03:00
Stefan Kost
1f7589fa4e
docs: adding a mp3decoder as well is useful
2010-04-27 12:25:37 +03:00
Stefan Kost
79e2132eef
docs: fix sections docs for synaesthesia
2010-04-27 11:37:52 +03:00
Stefan Kost
22dcc68a62
docs: add docs for mp3parse
2010-04-27 11:02:50 +03:00
Wim Taymans
aa2a7bdda2
asfdepay: we require a dynamic payload type
...
Add an extra caps property that restricts the depayloader to only accept dynamic
payload types.
2010-04-15 16:31:23 +02:00
Edward Hervey
f34dd3626a
asfdemux: Make a table static to avoid having to always allocate it.
2010-04-14 09:30:54 +02:00
Tim-Philipp Müller
d198cb485d
build: build plugins in parallel where possible, if make -jN is used
2010-03-30 01:18:50 +01:00
Edward Hervey
c4e14839e8
synaestesia: Fix old-style prototype
2010-03-24 19:35:03 +01:00
Руслан Ижбулатов
49c5383c71
Fix pointer type.
...
Fixes #613815
2010-03-24 19:01:34 +01:00
Sebastian Dröge
c88c88de0d
build: Add all kinds of compiler warning flags and fix the resulting warnings
2010-03-24 11:27:40 +01:00
Tim-Philipp Müller
c8e931574e
build: fix up Makefile.am
...
Mostly just add $(GST_BASE_CFLAGS) where they're missing and fix
the order a bit here and there (see docs/random/moving-plugins).
2010-03-19 00:12:38 +00:00
Benjamin Otte
9850bd814f
gst_element_class_set_details => gst_element_class_set_details_simple
2010-03-18 15:53:14 +01:00
Edward Hervey
48a1935cb0
asfdemux: Don't set durations of 0 on outgoing buffers.
...
Some (broken) streams don't have the extended stream properties in
the header, resulting in applying a duration of zero on outgoing
buffers.
Fixes #611473
2010-03-01 16:52:08 +01:00
Edward Hervey
79b154e4f7
asfdemux: Make sure we always set proper payload duration.
...
Some (broken) streams will have a delta of 0, resulting in outgoing
buffers having durations of 0.
Fixes #611473
2010-03-01 16:51:56 +01:00
Edward Hervey
417e3e0346
asfdemux: Make sure we don't end up with negative timestamps.
...
Some files have payload with timestamps smaller than the preroll duration.
Instead of blindly substracting the preroll value (and ending up with
insanely high timestamps on the outgoing buffers), we make sure we
never go below 0.
Fixes #610432
2010-02-19 18:11:13 +01:00
Robert Swain
ad45fd1827
asfdemux: Improve seek behaviour for audio-only with no index
...
Instead of seeking to seek_time - 5s in the hope of hitting a keyframe
for video, we can just seek to seek_time instead.
2010-02-16 13:02:47 +01:00
Tim-Philipp Müller
efc5181d13
rtspreal: don't construct config header with uninitialised bytes
...
Turns out 4 + 4 + 2 + (4 * 2) is actually 18 and not 22. This avoids
a presumably unintentional padding of uninitialised bytes at the end
of the CONT tags chunk, which should be harmless but causes warnings
in valgrind (see #608533 for a test URL).
2010-01-31 13:03:58 +00:00
Tim-Philipp Müller
cd6b16734e
rtspreal: add finalize function so we can free streams and rulebook
...
Fix memory leak in Real RTSP component (#608533 ).
2010-01-30 19:15:15 +00:00
Tim-Philipp Müller
4cb5f32308
rtspreal: fix minor memory leak
...
Caps take their own reference when a buffer is added to them, so
unref buffer after adding it to caps (#608533 ).
2010-01-30 19:15:15 +00:00
Tim-Philipp Müller
29c509a7b8
rdtdepay: unref input buffer when done
...
Fixes memory leak, see #608533 .
2010-01-30 19:15:15 +00:00
Thiago Santos
8f60eb26f3
asfdemux: Do not subtract padding twice
...
Only subtract implicit padding if an explicit one isn't
provided. Avoids subtracting it twice and causing
parsing errors.
Fixes #607698
2010-01-22 15:49:58 -03:00
Stefan Kost
da70785dcd
assert: g_assert_not_reached() cannot replace return statement
...
Fix build with assert being turned off.
2010-01-22 16:55:14 +02:00
Edward Hervey
8829c5141a
asfdemux: Don't forget to update flow variable
...
Forgot to update the return value in the loop.
2010-01-18 18:01:55 +01:00
Edward Hervey
bb20a20d86
asfdemux: Check flow return on every push
...
We previously only aggregated flow returns after the while(push) loop,
which meant that in some cases we would end-up not properly aggregating
the flow returns.
This is based on the same flow aggregation algorithm as oggdemux.
2010-01-18 17:51:57 +01:00
Arnaud Patard
9094dc1bc6
xingmux: Fix unaligned memory access
...
ARM/SPARC need 32bit alignment but xingmux accesses possibly
unaligned memory, which leads to SIGBUS.
Fixes bug #586464 .
2010-01-11 14:06:03 +01:00
Michael Smith
84d80fffcd
asfdemux: Use GST_STR_NULL in a couple of places.
...
Fixes crashing on some of the log statements on win32.
2010-01-07 14:37:31 -08:00
Thiago Santos
6dd3525806
rmdemux: Parse and post bitrate for streams
...
Parse the bitrate of the streams and post their tags.
Fixes #599299
2010-01-07 16:36:08 -03:00
Thiago Santos
db73c4337d
asfdemux: Post bitrate tag
...
If stream bitrate object is available, post the bitrate
tags.
Fixes #599297
2010-01-07 13:54:21 -03:00
Mark Nauwelaerts
8e5df1a902
mp3parse: minor validation check of (Xing, VBRI) metadata
...
... to detect e.g. a truncated file, rendering some of the metadata invalid.
2010-01-04 15:25:52 +01:00
Mark Nauwelaerts
b64f6065c2
mp3parse: use proper total_time and total_bytes in various cases
...
The correct basis for (Xing, VBRI) seek table calculations is the
byte size and duration provided by that metadata, rather than some
other (possibly even estimated) one. This also prevents an infinite
conversion loop in (unlikely) case where a TOC is provided without
such corresponding (duration) metdata.
2010-01-04 15:25:50 +01:00
Thiago Santos
5e3f07b6a1
mp3parse: conserve stop time for non-accurate seek
...
Use the same strategy as accurate seeks to store
pending non-accurate seeks to avoid overwriting non-definite
stop times. When doing non-accurate seeks our position
reporting might drift off by some secs and the stream can
end up before it should.
Fixes #603695
2010-01-04 10:01:44 -03:00
Thiago Santos
ea7a9e550a
mp3parse: return false when we can't seek
...
When upstream can't seek, we return false as well
2009-12-08 19:01:50 -03:00
Mark Nauwelaerts
9fe72b5da3
mp3parse: fix non-flushing seek
...
Specifically, in addition to clearing lots of variables/offsets
when receiving newsegment, also clear leftover data to match.
2009-11-26 15:58:57 +01:00
Benjamin Gaignard
26290a698c
asfdemux: Don't call strlen() on NULL pointers
...
Fixes bug #602280 .
2009-11-18 09:58:39 +01:00
Thiago Santos
b4007d3c76
asfdemux: Remove old pads when new ones are added
...
The old pads were being removed before adding the new ones,
we should add the new ones first.
Fixes #599718
2009-11-09 15:02:05 -03:00
Thiago Santos
a155733bff
asfdemux: Handle chained asfs on pull mode
...
Adds chained asfs handling to pull mode. It now checks if
there is a new asf header after the last packet (when it
is possible to know how many packets are) or it tries
checking if a processed packet that fails is an header
object.
Fixes #599718
2009-11-09 14:24:13 -03:00
Thiago Santos
dc65baacf6
asfdemux: properly do chained asfs on push mode
...
To properly do chained asfs work with playbin2, we need to
push eos on the old pads before removing them.
Fixes #599718
2009-11-09 14:23:04 -03:00
Thiago Santos
37e805ef24
asfdemux: add support for chained asfs (push mode)
...
Adds support for detecting and playing chained asfs
in push mode. asfdemux tries to detect a new asf start
by identifying the header object guid in a input buffer.
When it finds it, it resets its state, removing its pads
and creates new ones for the new file.
2009-11-06 18:59:30 -03:00
Tim-Philipp Müller
9e3e475f36
asfdemux: fix two small leaks
2009-11-05 18:33:09 +00:00
Tim-Philipp Müller
b84bf977b1
asfdemux: prefer WM/TrackNumber over WM/Track, it's more reliable
...
WM/Track has a 0 base but is often wrongly written as starting from 1,
so not as reliable as WM/TrackNumber which always starts from 1.
2009-11-05 18:19:58 +00:00
Tim-Philipp Müller
1c88985618
asfdemux: WM/Track starts counting from 0, adjust to start from 1
2009-11-05 18:11:55 +00:00
Tim-Philipp Müller
aa52dd1320
asfdemux: map WM/TrackNumber to GST_TAG_TRACK_NUMBER as well
...
There's both WM/Track and WM/TrackNumber.
2009-11-05 18:11:35 +00:00
Jan Schmidt
be7f763882
dvdsubdec: Fix printf format string warning
2009-11-04 15:50:17 +00:00
Jan Schmidt
acd6f70515
asfdemux: Fix bogus variable used uninitialised warnings
2009-11-04 15:46:04 +00:00
Michael Smith
2349f09e6a
asfdemux: fix c99-style comments.
2009-10-29 11:39:13 -07:00
Michael Smith
5ccedb2a38
asfdemux: accept fragments in a continued packet where the subsequent fragments
...
declare a size of 0. Fixes bug 600037.
2009-10-29 10:36:08 -07:00
Wim Taymans
3784de031d
rmutils: fix byteswapping
...
fix the byteswapping code that was wrong because of the side effects of the
READ/WRITE macros.
Fixes #599676
2009-10-27 12:33:24 +01:00
Thiago Santos
59f6c82c32
asfdemux: careful to avoid crash on bogus data
...
When receiving bogus data, we have to avoid subtracting a value
larger than 'size' from 'size' variable, resulting in a wrap
that would make 'size' a really large bogus value.
Fixes #599333
2009-10-26 17:31:19 -03:00
Edward Hervey
33b4528a0e
mpegaudioparse: Don't use expensive glib ways to get an enum nick.
...
Fixes #598761
This removes a good 50% of processing time for parsing a buffer.
We do this by simply... getting the nicks that we already have handy
instead of going through the expensive glib system.
2009-10-24 20:37:13 +02:00
Josep Torra
8841ca0a3c
mpegstream: fix warning in macosx snow leopard
2009-10-11 16:16:09 +02:00
Josep Torra
9c6b0cacb5
mpegaudioparse: fix warning in macosx snow leopard
2009-10-11 16:14:08 +02:00
Josep Torra
8d77fcd1fb
dvdsubdec: fix warning on macosx snow leopard
2009-10-11 16:09:11 +02:00
Josep Torra
c4fe899f1a
asfdemux: fix warning in macosx snow leopard
2009-10-11 16:06:25 +02:00
René Stadler
0b0b07eb49
mp3parse: don't fail SEEKING query when upstream query fails for TIME format
2009-10-08 20:10:11 +03:00
Stefan Kost
d125baa8c5
build: fprintf, sprintf, sscanf need stdio.h
2009-10-07 14:22:09 +03:00
Wim Taymans
f2613470fd
dvdlpcm: whitespace fixes
2009-10-05 12:14:18 +02:00
Mark Nauwelaerts
820abb3ab8
mpegaudioparse: prevent infinite (re)syncing
...
Conflicts:
gst/mpegaudioparse/gstmpegaudioparse.c
2009-09-25 18:11:48 +02:00
Michael Smith
8307e177ba
mp3parse: Refactor checking for sync. Make resyncing more reliable.
...
Previously, we could get false sync relatively easily - it sometimes happened
on real files. This cleans the code up a fair bit, and makes it require more
confirmation that we've found valid sync before continuing.
2009-09-22 12:17:18 -07:00
Mark Nauwelaerts
57d01c2526
mpegaudioparse: ensure 2 valid headers in a row when resyncing
2009-09-17 16:22:36 +02:00
Tim-Philipp Müller
59f5b02444
dvddemux: remove bogus ifndef
2009-09-11 10:05:30 +01:00
Tim-Philipp Müller
94a404cb8d
dvdsubparse: GstAdapter is not a GstObject and should be freed with g_object_unref
2009-08-31 13:44:31 +01:00
David Schleef
0c15317848
asfdemux: Remove old non-built asfmux code
...
Remove so people don't confuse it with the new asfmux code
in -bad.
2009-08-24 14:00:23 -07:00
Mark Nauwelaerts
52f6764e4c
mpegaudioparse: use metadata (xing, vbri) provided bytesize for conversions
...
Metadata provided seek tables are consistent with metadata's view of
total size, which typically matches real size, but need not do so
(e.g. a truncated file). Fixes seeking and position reporting
in such truncated files (although duration based on metadata may then
still be incorrect).
2009-08-14 12:07:40 +02:00
Thiago Santos
6adb49c501
rtpasfdepay: set padding size to the correct value
...
asf packets in rtp packets should come with their padding fields
set to 0 and the depayload must update them to the correct
value before pushing downstream
2009-07-31 00:25:43 -03:00
Edward Hervey
6f58ca470e
asfdemux: Refactor multiple packet pull.
...
This also fixes a bug by which the first buffer (in a multi-packet mode)
passed to asf_demux_parse_packet() would have a GST_BUFFER_SIZE of the
full incoming buffer and not just of the single asf packet.
Fixes corrupted frames introduced by latest commit.
2009-06-29 11:13:02 +02:00
Wim Taymans
0fc6f338dc
asfdemux: use the right accurate field
...
Remove accurate variable and its faulty use because the real variable is an
instance variable.
2009-06-29 10:58:49 +02:00
Edward Hervey
d71973cc4c
asfdemux: Sprinkle branch prediction macros accross the code
2009-06-28 17:52:38 +02:00
Edward Hervey
d451dff520
asfdemux: Delay newsegment handling until we have a keyframe.
...
We now have a chance for packets to be collected before we send out the
newsegment. If we're not in accurate seeking (keyunit) it will set
the segment start/time to the keyframe's timestamp.
2009-06-28 17:52:38 +02:00
Edward Hervey
3b63c95450
asfdemux: Remove useless check. We already have checked for it above.
2009-06-28 17:52:38 +02:00
Edward Hervey
a3c832405e
asfdemux: No longer queue GOPs now that seeking is fixed.
...
We now *always* seek to the keyframe just before our requested position.
When we encounter the first keyframe and we were not accurate (therefore doing
keyframe seeking), we update the segment start position to the keyframe timestamp.
2009-06-28 17:50:45 +02:00
Edward Hervey
e6c6eefefb
asfdemux: Store the accurate seeking flag
2009-06-28 17:50:45 +02:00
Edward Hervey
725da8579b
asfdemux: Use the average frame duration for buffers without a duration.
...
This will still cause some timestamp jitter, but giving a hint as to the duration
rather than nothing seems to be a better idea.
Also, this allows some scenarios (like remuxing with asfmux) to estimate the total
duration using the accumulated packet duration (which will be correct).
2009-06-28 17:33:51 +02:00
Edward Hervey
99d9b34385
asfdemux: Use index entry packet count to optimize seeking.
...
The simple index entries also contain the number of packets one needs
to retrieve at a given position to get a full keyframe. We therefore
use that information to retrieve all those packets in one buffer when
working in pull-mode.
2009-06-28 17:33:48 +02:00
Thiago Santos
6e2a117eb2
asfdemux: Do not try to free const pointer
...
In gst_asf_demux_chain_headers, when 'goto wrong_type' was called
asfdemux tried to free a const pointer that had been cast to a
normal pointer variable.
2009-06-26 21:07:59 -03:00
Edward Hervey
3c683ead7b
asfdemux: Use presentation timestamp when searching in the index.
...
We need to take the preroll into account... else we end up too early.
2009-06-26 20:45:09 +02:00
Edward Hervey
c1bf0a091c
asfdemux: Convert index entry from presentation time to timestamps.
...
We weren't taking the preroll into account previously, meaning that we
were always seeking preroll nanoseconds too early... resulting in a lot
of dropped packets (which are before the start time).
This brings quit a bit closer to as-fast-as-possible seeking in asf files.
2009-06-26 13:35:38 +02:00
Edward Hervey
db5ddf927c
asfdemux: Fix byte array metadata handling.
...
We basically discard byte array metadata. Should be trivial to adapt
to storing the pointers if we need it later on.
2009-06-26 10:58:56 +02:00
Edward Hervey
a3f200e4f8
asfdemux: Handle PAR/interlaced information stored in packet payload.
...
This is the 'other' way to store non 1/1 PAR in asf streams (by storing it
in the ASF Packet payload extensions).
2009-06-26 10:42:29 +02:00
Edward Hervey
1cc2eed416
asfdemux: Store/Handle global metadata (not specific to one stream).
...
This allows us to store (and handle) PAR information which might be stored there.
2009-06-26 10:42:29 +02:00
Mark Nauwelaerts
6aa267cfc8
mpegaudioparse: fix Xing inverse seek table building
2009-06-25 18:27:54 +02:00
Tim-Philipp Müller
16a09febbd
asfdemux: don't try to free a NULL taglist
2009-06-23 16:45:00 +01:00
Tim-Philipp Müller
6ec0b61980
asfdemux: post tags only after we've created our source pads
...
Post global tags only after we've added our source pads, so that
tag events get sent downstream in addition to tag messages posted
on the bus. This makes sure tags can be picked up automatically
when transcoding, but also by tagreadbin/playbin2. Fixes #519721 .
While we're at it, also add a container-format tag.
2009-06-23 02:14:00 +01:00
Tim-Philipp Müller
aa0d6f7b48
asfdemux: use new bytereader functions for image tag parsing
2009-06-23 01:38:01 +01:00
Mark Nauwelaerts
1874bf5910
asfdemux: remove some more unused variables
2009-06-22 19:10:17 +02:00
Mark Nauwelaerts
095c8eb5d4
rmdemux: plug buffer leaking
2009-06-22 19:10:15 +02:00
Wim Taymans
22b82d30e5
asfdepay: guard against dropped buffers
...
If a buffer was dropped, we might request data from the adapter that is not
there and then we get a NULL buffer.
2009-06-22 17:36:21 +02:00
Wim Taymans
36d0450d6e
asfdemux: set DISCONT on streams
...
When we receive a DISCONT as input, don't clear our complete state but simply
mark a discont that will be put on the next buffer. The code will be able to
handle and throw away incomplete data.
Add some more debug info.
Remove an unused variable.
2009-06-22 17:16:58 +02:00
Wim Taymans
c53fd9ded1
asfdepay: set DELTA_UNIT flag correctly
...
Only set the DELTA_UNIT flag when we are not dealing with a keyframe.
Add some more debug info.
2009-06-22 17:15:52 +02:00
Wim Taymans
8de1502c9b
asfdemux: fix latency calculations
...
We need to check for -1 as an invalid timestamp, not 1.
2009-06-22 13:39:41 +02:00
Tim-Philipp Müller
af3ab2ae94
mp3parse: don't put every single frame into the index
...
Let's not put every single mp3 frame in our index, a few frames per
second should be more than enough. For now use an index interval
of 100ms-500ms depending on the upstream size, to keep the index at
a reasonable size. Factor out the code that adds the index entry
into a separate function for better code readability.
2009-06-22 10:41:26 +01:00
Tim-Philipp Müller
1db592839e
mp3parse: assume seekability only if we know the upstream size
...
While technically upstream may be seekable even if it doesn't know
the exact size, I can't think of a use case where this distincation
is relevant in practice, so for now just assume we're not seekable
if upstream doesn't provide us with a size. Makes sure we don't
build a seek index when streaming internet radio with sources that
pretend to be seekable until you try to actually seek.
2009-06-22 10:41:26 +01:00
Tim-Philipp Müller
0e285b3d29
x264enc, rdtmanager: fix compilation with debugging disabled
2009-06-19 15:01:46 +01:00
Tim-Philipp Müller
181db09d90
asfdemux: nicer metadata extraction of genre tags in some cases
...
Handle pseudo-strings like "(5)" and map them to the ID3v1 genre
that they presumably stand for.
2009-06-05 01:51:20 +01:00
Tim-Philipp Müller
2aeecee037
asfdemux: parse WM/Picture tags to extract cover art
...
Fixes #583112 .
2009-06-05 01:37:54 +01:00
Tim-Philipp Müller
7c40c99238
asfdemux: fix bogus flow return handling in eos handler
...
Don't overwrite the origin flow return by whatever flow we get
when trying to push the remaining internally queued payloads.
We want to do our eos logic, ie. send an EOS event or segment-done
message in any case. Makes things EOS properly when an EOS event
is forced upon the pipeline so that the source returns
FLOW_UNEXPECTED to a pulling asfdemux. Should fix #582056 .
2009-05-30 13:08:15 +01:00