Commit graph

6292 commits

Author SHA1 Message Date
Edward Hervey
70c609f102 m4/Makefile.am: And a couple more .m4 that don't exist anymore with gettext 0.17
Original commit message from CVS:
* m4/Makefile.am:
And a couple more .m4 that don't exist anymore with gettext 0.17
2008-12-13 16:21:12 +00:00
Edward Hervey
4fa4fdf7c0 m4/Makefile.am: inttypes.m4 hasn't been available since gettext-0.15, and since we now require gettext >= 0.17 ... we...
Original commit message from CVS:
* m4/Makefile.am:
inttypes.m4 hasn't been available since gettext-0.15, and since we now
require gettext >= 0.17 ... we can remove it from the list of files to
dist.
2008-12-13 12:41:56 +00:00
Sebastian Dröge
04d9ff9a24 gst-libs/gst/audio/: API: Add GST_TYPE_BASE_AUDIO_(SRC|SINK)_SLAVE_METHOD to the public API. This is needed for the C...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_slave_method_get_type),
(gst_base_audio_sink_class_init):
* gst-libs/gst/audio/gstbaseaudiosink.h:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_slave_method_get_type),
(gst_base_audio_src_class_init):
* gst-libs/gst/audio/gstbaseaudiosrc.h:
API: Add GST_TYPE_BASE_AUDIO_(SRC|SINK)_SLAVE_METHOD to the
public API. This is needed for the C++ bindings to be able
to use this base classes. Fixes bug #564200, #564206.
2008-12-13 06:57:09 +00:00
Edward Hervey
c5ae184910 gst-libs/gst/cdda/gstcddabasesrc.c: Remove erroneous gst_buffer_ref().
Original commit message from CVS:
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_handle_event):
Remove erroneous gst_buffer_ref().
* tests/check/libs/rtp.c: (GST_START_TEST):
Don't forget to unref the buffer once you're done with it.
2008-12-12 19:41:28 +00:00
Stefan Kost
552b5f5fcd gst/playback/: XRef to GstXOverlay.
Original commit message from CVS:
* gst/playback/gstplaybin.c:
* gst/playback/gstplaybin2.c:
XRef to GstXOverlay.
2008-12-12 13:06:48 +00:00
Edward Hervey
89413e390c gst/playback/gsturidecodebin.c: Free the factory array when finalizing.
Original commit message from CVS:
* gst/playback/gsturidecodebin.c: (gst_uri_decode_bin_finalize):
Free the factory array when finalizing.
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_base_init):
Use a GstStaticPadTemplate since the src pad caps are fixed.
2008-12-12 10:54:45 +00:00
Edward Hervey
a3c1a0507a ext/vorbis/vorbisenc.c: Make vorbisenc's pad template behave like vorbisdec's. Fixes a leak with pad templates.
Original commit message from CVS:
* ext/vorbis/vorbisenc.c: (gst_vorbis_enc_base_init),
(gst_vorbis_enc_init):
Make vorbisenc's pad template behave like vorbisdec's. Fixes a leak with
pad templates.
2008-12-12 07:17:21 +00:00
Edward Hervey
c4295a07b9 gst-libs/gst/riff/riff-media.c: Add mapping for VP6 in avi/riff.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
(gst_riff_create_video_template_caps):
Add mapping for VP6 in avi/riff.
2008-12-12 07:15:22 +00:00
Edward Hervey
7a83664099 gst/subparse/samiparse.c: Some versions of libxml seem to be very picky as to strict formatting of the input and neve...
Original commit message from CVS:
* gst/subparse/samiparse.c: (sami_context_push_state),
(sami_context_pop_state), (start_sami_element), (end_sami_element):
Some versions of libxml seem to be very picky as to strict formatting
of the input and never 'close' the final </body> tag.
In order to fix that bad behaviour, we trigger the flushing of
remaining data on both </body> and </sami>.
Fixes #557365
2008-12-11 15:49:12 +00:00
Guillaume Emont
d477a37e7e gst/typefind/gsttypefindfunctions.c: Add typefinders for MS Word files and OS X .DS_Store files to prevent them to be...
Original commit message from CVS:
Patch by: Guillaume Emont <guillaume at fluendo dot com>
* gst/typefind/gsttypefindfunctions.c: (plugin_init):
Add typefinders for MS Word files and OS X .DS_Store files to
prevent them to be recognized as MPEG files. Fixes bug #564098.
2008-12-11 12:32:03 +00:00
Wim Taymans
08736ec1ae gst/playback/gstplaysink.c: Add some more debug info.
Original commit message from CVS:
* gst/playback/gstplaysink.c: (gen_audio_chain),
(gst_play_sink_reconfigure):
Add some more debug info.
Fix linking of just an encoded sink.
Handle failure to create a sink chain more gracefully than crashing.
2008-12-11 11:04:14 +00:00
Wim Taymans
93e5a373ea tests/check/pipelines/theoraenc.c: Pushing 10 buffers is enough to run the test.
Original commit message from CVS:
* tests/check/pipelines/theoraenc.c: (GST_START_TEST):
Pushing 10 buffers is enough to run the test.
2008-12-11 10:33:48 +00:00
Wim Taymans
029f358f80 tests/examples/seek/seek.c: Hook up the SKIP seek flag.
Original commit message from CVS:
* tests/examples/seek/seek.c: (do_seek), (stop_cb),
(skip_toggle_cb), (rate_spinbutton_changed_cb), (msg_segment_done),
(main):
Hook up the SKIP seek flag.
2008-12-11 10:28:43 +00:00
Wim Taymans
172e478fd1 gst/playback/gstplaybin2.c: Error out with a missing-plugin error when the input-selector was not found.
Original commit message from CVS:
* gst/playback/gstplaybin2.c: (pad_added_cb):
Error out with a missing-plugin error when the input-selector was not
found.
* gst/playback/gstplaysink.c: (gst_play_sink_reconfigure):
Indentation.
2008-12-10 18:43:32 +00:00
Wim Taymans
1bfdc87815 gst/playback/gstplaysink.c: Use G_DEFINE_TYPE.
Original commit message from CVS:
* gst/playback/gstplaysink.c: (gst_play_sink_class_init),
(gst_play_sink_dispose), (gst_play_sink_finalize), (try_element),
(gen_video_chain), (gen_audio_chain), (gst_play_sink_reconfigure),
(gst_play_sink_send_event), (gst_play_sink_change_state):
Use G_DEFINE_TYPE.
Try to set the selected sink to READY before using it. This will allow
for detection of incompatible formats sooner.
Don't cause a fatal error when conversion elements are missing but post
a missing-element message and a warning instead because things might
still link and run fine.
Simplyfy the construction of audio and video sink chains.
2008-12-10 17:39:32 +00:00
Wim Taymans
1ab0f8da50 ext/ogg/gstoggdemux.c: Use G_DEFINE_TYPE for the OggPad to get some threadsafe type init from glib.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_class_init),
(gst_ogg_pad_dispose), (gst_ogg_pad_finalize):
Use G_DEFINE_TYPE for the OggPad to get some threadsafe type
init from glib.
2008-12-10 14:55:10 +00:00
Luis Menina
a4493595a6 gst/: Include glib.h instead of a specific GLib header. Including single
Original commit message from CVS:
Patch by: Luis Menina <liberforce at freeside dot fr>
* gst-libs/gst/floatcast/floatcast.h:
* gst/typefind/gsttypefindfunctions.c:
Include glib.h instead of a specific GLib header. Including single
GLib headers is deprecated. Fixes bug #563904.
2008-12-10 08:19:13 +00:00
Julien Moutte
b7f763b23f gst-libs/gst/riff/riff-media.c: Support higher max audio rates for some formats (WAV, Vorbis, LPCM).
Original commit message from CVS:
2008-12-09  Julien Moutte  <julien@fluendo.com>

* gst-libs/gst/riff/riff-media.c: (gst_riff_create_audio_caps):
Support higher max audio rates for some formats (WAV, Vorbis, LPCM).
2008-12-09 18:30:10 +00:00
Stefan Kost
b3cc87185a gst-libs/gst/riff/riff-read.c: Fix handling of odd chunks in riff metadata.
Original commit message from CVS:
* gst-libs/gst/riff/riff-read.c:
Fix handling of odd chunks in riff metadata.
2008-12-09 17:21:37 +00:00
Wim Taymans
cf0efcbff9 gst/volume/gstvolume.c: Use new basetransform vmethod to reconfigure the dynamic properties and any pending volume/mu...
Original commit message from CVS:
* gst/volume/gstvolume.c: (gst_volume_class_init),
(volume_before_transform), (volume_transform_ip):
Use new basetransform vmethod to reconfigure the dynamic properties and
any pending volume/mute changes. Fixes #563508.
2008-12-08 18:44:22 +00:00
Sebastian Dröge
9912a2270a configure.ac: First check for "theoraenc theoradec" and if that failed check for "theora >= 1.0alpha5". The former ap...
Original commit message from CVS:
* configure.ac:
First check for "theoraenc theoradec" and if that failed check
for "theora >= 1.0alpha5". The former appeared in 1.0beta3 and
deprecate the latter. Also linking on Windows fails with just "theora"
and the version check would fail for the release candidates.
Fixes bug #563718.
2008-12-08 18:12:18 +00:00
Stefan Kost
16e2bccc61 gst/playback/: Add basic docs to decodebin and link to decodebin from decodebin2.
Original commit message from CVS:
* gst/playback/gstdecodebin.c:
* gst/playback/gstdecodebin2.c:
Add basic docs to decodebin and link to decodebin from decodebin2.
2008-12-08 15:25:13 +00:00
Olivier Crete
3c9df39c15 gst-libs/gst/rtp/gstrtcpbuffer.*: Implement gst_rtcp_packet_remove(). Fixes #563174.
Original commit message from CVS:
Patch by: Olivier Crete  <tester at tester ca>
* gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_packet_remove):
* gst-libs/gst/rtp/gstrtcpbuffer.h:
Implement gst_rtcp_packet_remove(). Fixes #563174.
* tests/check/libs/rtp.c: (GST_START_TEST), (rtp_suite):
Add unit test for some RTCP functions.
2008-12-08 12:08:32 +00:00
Sebastian Dröge
bc9d5d614f configure.ac: Apparently AC_CONFIG_MACRO_DIR breaks when using more than one macro directory, reverting last change.
Original commit message from CVS:
* configure.ac:
Apparently AC_CONFIG_MACRO_DIR breaks when using more
than one macro directory, reverting last change.
2008-12-04 20:09:19 +00:00
Sebastian Dröge
9508d22807 configure.ac: Set AC_CONFIG_MACRO_DIR to common/m4 to point autoconf to our M4 macros.
Original commit message from CVS:
* configure.ac:
Set AC_CONFIG_MACRO_DIR to common/m4 to point autoconf to
our M4 macros.
2008-12-04 19:47:12 +00:00
Edward Hervey
98c2c8a052 sys/: Clear all flags on buffers returned from the image pool.
Original commit message from CVS:
* sys/ximage/ximagesink.c: (gst_ximagesink_buffer_alloc):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_buffer_alloc):
Clear all flags on buffers returned from the image pool.
Fixes #563143
2008-12-03 17:47:44 +00:00
이문형
933186aaa1 gst-libs/gst/app/gstappsrc.c: Don't forget to release the lock again if we bail out because some pad is flushing or w...
Original commit message from CVS:
Patch by: 이문형 <iwings at gmail dot com>
* gst-libs/gst/app/gstappsrc.c: (gst_app_src_push_buffer):
Don't forget to release the lock again if we bail out because some
pad is flushing or we've reached EOS, otherwise things will lock up
next time _push_buffer() is called (#562802).
2008-12-01 19:36:35 +00:00
Sebastian Dröge
97b2cac6c8 Require gettext 0.17 because older versions don't mix with libtool 2.2. At build time an older gettext version will s...
Original commit message from CVS:
Patch by: Cygwin Ports maintainer
<yselkowitz at users dot sourceforge dot net>
* autogen.sh:
* configure.ac:
Require gettext 0.17 because older versions don't mix with libtool
2.2. At build time an older gettext version will still work.
Fixes bug #556091.
2008-11-29 13:31:47 +00:00
Christian Schaller
1048c62b2c fix build
Original commit message from CVS:
fix build
2008-11-28 13:30:36 +00:00
Sebastian Dröge
c514656e3a Update documentation of speexresample for the new element name.
Original commit message from CVS:
* docs/plugins/gst-plugins-base-plugins.args:
* docs/plugins/gst-plugins-base-plugins.hierarchy:
* docs/plugins/gst-plugins-base-plugins.interfaces:
* docs/plugins/gst-plugins-base-plugins.prerequisites:
* docs/plugins/inspect/plugin-videorate.xml:
* gst/speexresample/gstspeexresample.c:
Update documentation of speexresample for the new element name.
2008-11-28 09:44:12 +00:00
Sebastian Dröge
f2eebf3fd3 gst/speexresample/README: Update README with the latest diff between the Speex resampler and our copy.
Original commit message from CVS:
* gst/speexresample/README:
Update README with the latest diff between the Speex resampler
and our copy.
2008-11-28 09:04:46 +00:00
Sebastian Dröge
86144acc9a gst/speexresample/gstspeexresample.c: Update the debug category from speex_resample to audioresample.
Original commit message from CVS:
* gst/speexresample/gstspeexresample.c: (plugin_init):
Update the debug category from speex_resample to audioresample.
2008-11-28 08:37:50 +00:00
Sebastian Dröge
7afac6e23a Remove audioresample files.
Original commit message from CVS:
* gst/audioresample/Makefile.am:
* gst/audioresample/buffer.c:
* gst/audioresample/buffer.h:
* gst/audioresample/debug.c:
* gst/audioresample/debug.h:
* gst/audioresample/functable.c:
* gst/audioresample/functable.h:
* gst/audioresample/gstaudioresample.c:
* gst/audioresample/gstaudioresample.h:
* gst/audioresample/resample.c:
* gst/audioresample/resample.h:
* gst/audioresample/resample_chunk.c:
* gst/audioresample/resample_functable.c:
* gst/audioresample/resample_ref.c:
* tests/check/elements/audioresample.c:
Remove audioresample files.
2008-11-27 19:13:59 +00:00
Sebastian Dröge
32ceb10be8 docs/plugins/inspect/plugin-audioresample.xml: Regenerated for library filename change.
Original commit message from CVS:
* docs/plugins/inspect/plugin-audioresample.xml:
Regenerated for library filename change.
2008-11-27 17:04:07 +00:00
Sebastian Dröge
153406eef5 Rename the moved speexresample to audioresample, integrate into the build system and remove the old audioresample fro...
Original commit message from CVS:
* configure.ac:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-base-plugins-sections.txt:
* docs/plugins/gst-plugins-base-plugins.args:
* docs/plugins/gst-plugins-base-plugins.hierarchy:
* docs/plugins/gst-plugins-base-plugins.interfaces:
* docs/plugins/gst-plugins-base-plugins.prerequisites:
* docs/plugins/inspect/plugin-adder.xml:
* docs/plugins/inspect/plugin-alsa.xml:
* docs/plugins/inspect/plugin-audioconvert.xml:
* docs/plugins/inspect/plugin-audiorate.xml:
* docs/plugins/inspect/plugin-audioresample.xml:
* docs/plugins/inspect/plugin-audiotestsrc.xml:
* docs/plugins/inspect/plugin-cdparanoia.xml:
* docs/plugins/inspect/plugin-decodebin.xml:
* docs/plugins/inspect/plugin-ffmpegcolorspace.xml:
* docs/plugins/inspect/plugin-gdp.xml:
* docs/plugins/inspect/plugin-gio.xml:
* docs/plugins/inspect/plugin-gnomevfs.xml:
* docs/plugins/inspect/plugin-libvisual.xml:
* docs/plugins/inspect/plugin-ogg.xml:
* docs/plugins/inspect/plugin-pango.xml:
* docs/plugins/inspect/plugin-playback.xml:
* docs/plugins/inspect/plugin-queue2.xml:
* docs/plugins/inspect/plugin-subparse.xml:
* docs/plugins/inspect/plugin-tcp.xml:
* docs/plugins/inspect/plugin-theora.xml:
* docs/plugins/inspect/plugin-typefindfunctions.xml:
* docs/plugins/inspect/plugin-uridecodebin.xml:
* docs/plugins/inspect/plugin-video4linux.xml:
* docs/plugins/inspect/plugin-videorate.xml:
* docs/plugins/inspect/plugin-videoscale.xml:
* docs/plugins/inspect/plugin-videotestsrc.xml:
* docs/plugins/inspect/plugin-volume.xml:
* docs/plugins/inspect/plugin-vorbis.xml:
* docs/plugins/inspect/plugin-ximagesink.xml:
* docs/plugins/inspect/plugin-xvimagesink.xml:
* gst/speexresample/gstspeexresample.c: (plugin_init):
* gst/speexresample/Makefile.am:
* tests/check/Makefile.am:
* tests/check/elements/speexresample.c: (setup_speexresample),
(GST_START_TEST), (test_pipeline):
Rename the moved speexresample to audioresample, integrate into the
build system and remove the old audioresample from the build system.
Fixes bug #558124, #385061, #346218, #116051.
2008-11-27 16:57:09 +00:00
Wim Taymans
af354dbef3 gst-libs/gst/audio/gstbaseaudiosrc.c: Avoid nasty int overflows after about 12 hours and 25 minutes when these code p...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosrc.c:
(gst_base_audio_src_get_offset), (gst_base_audio_src_create):
Avoid nasty int overflows after about 12 hours and 25 minutes when these
code paths are triggered.
A free beer to Håvard Graff for finding this!
2008-11-27 16:47:41 +00:00
이문형
d80a5c9dbc gst-libs/gst/rtsp/gstrtspconnection.c: A successful gst_poll_wait() doesn't always mean successful connect() on
Original commit message from CVS:
Patch by: 이문형 <iwings at gmail dot com>
* gst-libs/gst/rtsp/gstrtspconnection.c:
(gst_rtsp_connection_connect):
A successful gst_poll_wait() doesn't always mean successful connect() on
Windows.  We should check errors by calling gst_poll_fd_has_error().
See #561924.
2008-11-27 11:16:44 +00:00
Sebastian Dröge
ecf6fe6455 tests/check/elements/speexresample.c: Make unit test again faster to prevent timeouts with valgrind.
Original commit message from CVS:
* tests/check/elements/speexresample.c: (test_pipeline):
Make unit test again faster to prevent timeouts with valgrind.
2008-11-25 16:37:50 +00:00
Wim Taymans
b2004e3d05 gst-libs/gst/rtp/gstrtcpbuffer.c: Fix typo in the docs.
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtcpbuffer.c:
Fix typo in the docs.
2008-11-25 15:33:30 +00:00
Wim Taymans
bae0d688dd ext/ogg/gstoggdemux.c: If no stream was found before receiving EOS, post an error message.
Original commit message from CVS:
* ext/ogg/gstoggdemux.c: (gst_ogg_demux_sink_event):
If no stream was found before receiving EOS, post an error message.
Fixes #561924.
2008-11-25 15:28:36 +00:00
Wim Taymans
f93fcafe64 ext/theora/: Parse segment events.
Original commit message from CVS:
* ext/theora/gsttheoraenc.h:
* ext/theora/theoraenc.c: (gst_theora_enc_init),
(theora_buffer_from_packet), (theora_push_packet),
(theora_enc_sink_event), (theora_enc_is_discontinuous),
(theora_enc_chain):
Parse segment events.
Pass incomming buffer timestamps to outgoing buffers.
Use the running_time to construct the granulepos.
Fixes #562163.
2008-11-25 15:14:30 +00:00
Wim Taymans
db785a1f52 gst/playback/gstplaybin2.c: Fix buffer-duration property.
Original commit message from CVS:
* gst/playback/gstplaybin2.c: (activate_group):
Fix buffer-duration property.
2008-11-25 11:00:55 +00:00
Wim Taymans
6983c1c85b gst-libs/gst/audio/gstbaseaudiosink.c: Really fix audiosink drain handling by keeping track of the running_time of th...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
(gst_base_audio_sink_drain), (gst_base_audio_sink_event),
(gst_base_audio_sink_sync_latency), (gst_base_audio_sink_render),
(gst_base_audio_sink_change_state):
Really fix audiosink drain handling by keeping track of the running_time
of the last sample.
2008-11-25 10:32:49 +00:00
Michael Smith
aec03a4535 gst/playback/gstplaybin2.c: Add notification of current stream. Add ability to configure buffer sizes.
Original commit message from CVS:
* gst/playback/gstplaybin2.c:
Add notification of current stream. Add ability to configure buffer
sizes.
* gst/playback/gsturidecodebin.c:
Add ability to configure buffer sizes for streaming mode.
Bug #561734.
2008-11-24 20:25:24 +00:00
Stefan Kost
a8264f66c7 gst-libs/gst/audio/gstbaseaudiosink.c: Time is already in running_time. Remove base_time handling. Fixes audiosinks n...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
Time is already in running_time. Remove base_time handling. Fixes
audiosinks not draining and thus chopping some audio in the end.
2008-11-24 20:11:52 +00:00
David Schleef
3d894ebe84 ext/ogg/gstoggmux.*: If we're muxing a dirac stream, flush the page after every picture.
Original commit message from CVS:
* ext/ogg/gstoggmux.c:
* ext/ogg/gstoggmux.h:
If we're muxing a dirac stream, flush the page after every picture.
2008-11-24 19:18:59 +00:00
Stefan Kost
7f937c99d4 gst-libs/gst/audio/gstbaseaudiosink.c: Add one log message to check for audio_drained. Sync one log message with the ...
Original commit message from CVS:
* gst-libs/gst/audio/gstbaseaudiosink.c:
Add one log message to check for audio_drained. Sync one log message
with the condition. Send EOS after draining audio in pull mode.
2008-11-24 12:56:54 +00:00
Sebastian Dröge
79bb2ffe06 ext/: Use gst_buffer_try_new_and_alloc() and fail properly if the allocation failed. This prevents abort() if downstr...
Original commit message from CVS:
* ext/gio/gstgiobasesrc.c: (gst_gio_base_src_create):
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnome_vfs_src_create):
Use gst_buffer_try_new_and_alloc() and fail properly if the
allocation failed. This prevents abort() if downstream elements
request an insane amount of memory.
2008-11-24 12:07:10 +00:00
Jon Trowbridge
0bdeaae59e gst/volume/gstvolume.*: Cleanup volume, define and use default values.
Original commit message from CVS:
* gst/volume/gstvolume.c: (volume_choose_func),
(volume_update_volume), (gst_volume_set_volume),
(gst_volume_get_volume), (gst_volume_set_mute),
(gst_volume_class_init), (gst_volume_init),
(volume_process_double), (volume_process_float),
(volume_process_int32), (volume_process_int32_clamp),
(volume_process_int24), (volume_process_int24_clamp),
(volume_process_int16), (volume_process_int16_clamp),
(volume_process_int8), (volume_process_int8_clamp), (volume_setup),
(volume_transform_ip), (volume_set_property),
(volume_get_property):
* gst/volume/gstvolume.h:
Cleanup volume, define and use default values.
Recalculate new volume and mute setup before processing. Fixes #561789.
* tests/check/elements/volume.c: (GST_START_TEST), (volume_suite):
Add controller unit test. Patch by: Jonathan Matthew
Fix bogus test that messed with basetransform's internal state.
2008-11-24 12:03:11 +00:00
Sebastian Dröge
f31ea1e221 tests/check/elements/speexresample.c: Make the unit test a bit faster to prevent timeouts, especially with valgrind.
Original commit message from CVS:
* tests/check/elements/speexresample.c: (GST_START_TEST):
Make the unit test a bit faster to prevent timeouts, especially
with valgrind.
2008-11-22 15:02:15 +00:00