diff --git a/gstreamer-0.10.21/plugins/elements/gstfilesrc.h b/gstreamer-0.10.21/plugins/elements/gstfilesrc.h
index 3a3eee7..1ffc449 100644
--- a/gstreamer-0.10.21/plugins/elements/gstfilesrc.h
+++ b/gstreamer-0.10.21/plugins/elements/gstfilesrc.h
@@ -2,6 +2,7 @@
  * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
  *                    2000 Wim Taymans <wtay@chello.be>
  *                    2005 Wim Taymans <wim@fluendo.com>
+ * Copyright (C) 2008 Motorola                    
  *
  * gstfilesrc.h:
  *
@@ -41,6 +42,7 @@ G_BEGIN_DECLS
   (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_FILE_SRC))
 #define GST_IS_FILE_SRC_CLASS(klass) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_FILE_SRC))
+#define GST_FILE_SRC_CAST(obj)    ((GstFileSrc *)(obj))
 
 typedef struct _GstFileSrc GstFileSrc;
 typedef struct _GstFileSrcClass GstFileSrcClass;
@@ -71,6 +73,22 @@ struct _GstFileSrc {
   GstBuffer *mapbuf;
   size_t mapsize;
   gboolean use_mmap;
+
+#ifndef GST_DISABLE_FILESRC_PD
+  gint64 pd_filesize;
+  guint64 pd_downloadedsize;
+  gboolean is_pd;
+
+  gboolean pd_sent_downloadcomplete_event; /* whether has  sent the download complete event */
+
+  gboolean pd_blocked;                   /* create() blocked or not */
+  gboolean pd_bunlock;                   /* unlock() activated or not */
+  guint64 requestlen;
+  guint    pd_timer_id;
+
+  GMutex  *pd_lock;               /* mutex used in File element */
+  GCond   *pd_cond;               /* File element condition */
+#endif
 };
 
 struct _GstFileSrcClass {
