projects
/
platform
/
upstream
/
gstreamer.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' into 0.11
[platform/upstream/gstreamer.git]
/
plugins
/
elements
/
gstfdsrc.c
diff --git
a/plugins/elements/gstfdsrc.c
b/plugins/elements/gstfdsrc.c
index
9f297ff
..
0ca9115
100644
(file)
--- a/
plugins/elements/gstfdsrc.c
+++ b/
plugins/elements/gstfdsrc.c
@@
-259,6
+259,8
@@
gst_fd_src_update_fd (GstFdSrc * src, guint64 size)
GST_INFO_OBJECT (src, "marking fd %d as seekable", src->fd);
src->seekable_fd = TRUE;
GST_INFO_OBJECT (src, "marking fd %d as seekable", src->fd);
src->seekable_fd = TRUE;
+
+ gst_base_src_set_dynamic_size (GST_BASE_SRC (src), TRUE);
}
return;
}
return;
@@
-266,6
+268,7
@@
not_seekable:
{
GST_INFO_OBJECT (src, "marking fd %d as NOT seekable", src->fd);
src->seekable_fd = FALSE;
{
GST_INFO_OBJECT (src, "marking fd %d as NOT seekable", src->fd);
src->seekable_fd = FALSE;
+ gst_base_src_set_dynamic_size (GST_BASE_SRC (src), FALSE);
}
}
}
}
@@
-439,7
+442,7
@@
gst_fd_src_create (GstPushSrc * psrc, GstBuffer ** outbuf)
blocksize = GST_BASE_SRC (src)->blocksize;
/* create the buffer */
blocksize = GST_BASE_SRC (src)->blocksize;
/* create the buffer */
- buf = gst_buffer_new_a
nd_alloc (blocksize
);
+ buf = gst_buffer_new_a
llocate (NULL, blocksize, 0
);
if (G_UNLIKELY (buf == NULL))
goto alloc_failed;
if (G_UNLIKELY (buf == NULL))
goto alloc_failed;
@@
-493,7
+496,7
@@
eos:
{
GST_DEBUG_OBJECT (psrc, "Read 0 bytes. EOS.");
gst_buffer_unref (buf);
{
GST_DEBUG_OBJECT (psrc, "Read 0 bytes. EOS.");
gst_buffer_unref (buf);
- return GST_FLOW_
UNEXPECTED
;
+ return GST_FLOW_
EOS
;
}
read_error:
{
}
read_error:
{
@@
-597,34
+600,36
@@
seek_failed:
/*** GSTURIHANDLER INTERFACE *************************************************/
static GstURIType
/*** GSTURIHANDLER INTERFACE *************************************************/
static GstURIType
-gst_fd_src_uri_get_type (
void
)
+gst_fd_src_uri_get_type (
GType type
)
{
return GST_URI_SRC;
}
{
return GST_URI_SRC;
}
-static
gchar *
*
-gst_fd_src_uri_get_protocols (
void
)
+static
const gchar *const
*
+gst_fd_src_uri_get_protocols (
GType type
)
{
{
- static
gchar *protocols[] = { (char *)
"fd", NULL };
+ static
const gchar *protocols[] = {
"fd", NULL };
return protocols;
}
return protocols;
}
-static
const
gchar *
+static gchar *
gst_fd_src_uri_get_uri (GstURIHandler * handler)
{
GstFdSrc *src = GST_FD_SRC (handler);
gst_fd_src_uri_get_uri (GstURIHandler * handler)
{
GstFdSrc *src = GST_FD_SRC (handler);
- return src->uri;
+ /* FIXME: make thread-safe */
+ return g_strdup (src->uri);
}
static gboolean
}
static gboolean
-gst_fd_src_uri_set_uri (GstURIHandler * handler, const gchar * uri)
+gst_fd_src_uri_set_uri (GstURIHandler * handler, const gchar * uri,
+ GError ** err)
{
gchar *protocol, *q;
GstFdSrc *src = GST_FD_SRC (handler);
gint fd;
{
gchar *protocol, *q;
GstFdSrc *src = GST_FD_SRC (handler);
gint fd;
- guint64 size =
-
1;
+ guint64 size =
(guint64) -
1;
GST_INFO_OBJECT (src, "checking uri %s", uri);
GST_INFO_OBJECT (src, "checking uri %s", uri);